Я пытаюсь использовать этот пакетный файл для поиска и перемещения файлов... но он не работает со скрытыми файлами. Чего не хватает?
@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илиробокопия, которые могут работать со скрытыми файлами. Конечно, это инструменты копирования, поэтому вам все равно придется открывать исходные файлы и удалять их после завершения копирования.