Localiza e move arquivos ocultos de subdiretórios com arquivos em lote que não funcionam

0

Estou tentando usar esse arquivo em lote para localizar e mover arquivos ... mas não funciona em arquivos ocultos. O que está faltando?

@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
    
por joe tech 08.05.2012 / 21:48

1 resposta

0

Você terá que mostrar os arquivos de qualquer maneira, porque move não funcionará em um arquivo que não pode ser encontrado (mesmo que você forneça o nome completo do arquivo). Não há sinalização para mover para que ele procure por arquivos marcados com o atributo oculto.

Exibe os arquivos com attrib -h . Substitua sua linha for por este conjunto:

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

Você pode usar uma ferramenta mais sofisticada, como xcopy ou robocopy , que pode operar em arquivos ocultos. É claro que essas são ferramentas de cópia, portanto, você ainda terá que mostrar os arquivos originais e excluí-los depois que a cópia terminar.

    
por 10.05.2012 / 06:59