Вам все равно придется показать файлы, потому что перемещение не будет работать с файлом, который он не может найти (даже если вы укажете полное имя файла). Там нет флага, чтобы дать двигаться, чтобы заставить его искать файлы, отмеченные скрытым атрибутом.
Показать файлы с помощью атрибута -h. Замените ваш for
линию с этим набором:
for /f "delims=" %%f in ('dir /ad /b /s %root%') do (
@attrib -h "%%f\~$*.SLD*"
@move "%%f\~$*.SLD*" %dest%
)
Вы можете использовать более сложный инструмент, такой как xcopy или robocopy, который может работать со скрытыми файлами. Конечно, это инструменты копирования, так что вам все равно придется показывать исходные файлы и удалять их после завершения копирования.