Найти и переместить скрытые файлы из подкаталогов с помощью пакетного файла не работает

Найти и переместить скрытые файлы из подкаталогов с помощью пакетного файла не работает

Я пытаюсь использовать этот пакетный файл для поиска и перемещения файлов... но он не работает со скрытыми файлами. Чего не хватает?

@echo off
setlocal
set root=E:\backup
set dest=E:\Tmp
for /f "delims=" %%f in ('dir /ad /b /s %root%') do @move "%%f\~$*.SLD*" %dest%
endlocal

решение1

Вам в любом случае придется отобразить файлы, потому чтодвигатьсяне будет работать с файлом, который он не может найти (даже если вы предоставите полное имя файла). Нет флага, который можно было бы задатьдвигатьсячтобы он искал файлы, помеченные атрибутом «скрытый».

Показать файлы с помощьюатрибут -h. Замените вашу forстроку этим набором:

for /f "delims=" %%f in ('dir /ad /b /s %root%') do (
  @attrib -h "%%f\~$*.SLD*"
  @move "%%f\~$*.SLD*" %dest%
)

Вы можете использовать более сложный инструмент, напримерxcopyилиробокопия, которые могут работать со скрытыми файлами. Конечно, это инструменты копирования, поэтому вам все равно придется открывать исходные файлы и удалять их после завершения копирования.

Связанный контент