Estoy intentando utilizar este archivo por lotes para buscar y mover archivos... pero no funciona con archivos ocultos. ¿Qué falta?
@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
Respuesta1
Vas a tener que mostrar los archivos de todos modos, porquemoverno funcionará en un archivo que no puede encontrar (incluso si proporciona el nombre de archivo completo). No hay bandera para darlemoverpara que busque archivos etiquetados con el atributo oculto.
Mostrar los archivos conatributo -h. Reemplace su for
línea con este conjunto:
for /f "delims=" %%f in ('dir /ad /b /s %root%') do (
@attrib -h "%%f\~$*.SLD*"
@move "%%f\~$*.SLD*" %dest%
)
Podrías utilizar una herramienta más sofisticada, comoxcopiarorobocopia, que puede operar con archivos ocultos. Por supuesto, estas son herramientas de copia, por lo que aún tendrás que mostrar los archivos originales y eliminarlos una vez finalizada la copia.