Eu estou tentando usar esse arquivo em lotes para localizar e mover arquivos ... mas não funciona em arquivos ocultos. O que está a faltar?
@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
windows
batch
file-management
file-transfer
joe tech
fonte
fonte
~$*.SLD*
resolver para?/B
O switch lista os resultados como caminhos básicos, sem informações adicionais. Cada resultado é analisado como a variável %% f nofor
comandoRespostas:
Você vai ter que mostrar os arquivos de qualquer maneira, porque mover 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á bandeira para dar mover para procurar arquivos marcados com o atributo oculto.
Mostrar os arquivos com attrib -h . Substitua seu
for
linha com este conjunto:Você poderia usar uma ferramenta mais sofisticada, como xcopy ou robocopy , que pode operar em arquivos ocultos. Naturalmente, essas são ferramentas de cópia, portanto, você ainda terá que mostrar os arquivos originais e excluí-los após a conclusão da cópia.
fonte