Existe uma maneira de copiar diretórios recursivamente dentro de um arquivo .bat? Nesse caso, um exemplo seria ótimo. obrigado.
Existe uma maneira de copiar diretórios recursivamente dentro de um arquivo .bat? Nesse caso, um exemplo seria ótimo. obrigado.
Respostas:
Examine o xcopy , que copiará recursivamente arquivos e subdiretórios.
Existem exemplos, 2/3 abaixo da página. De uso particular é:
Para copiar todos os arquivos e subdiretórios (incluindo quaisquer subdiretórios vazios) da unidade A para a unidade B, digite:
xcopy a: b: /s /e
Copy-Item -Recurse
no PowerShell.
Depois de ler os comentários da resposta aceita, tentei o comando robocopy , que funcionou para mim (usando o prompt de comando padrão do Windows 7 64 bits SP 1):
robocopy source_dir dest_dir /s /e
/E
implica /S
? copy subdirectories, including Empty ones.
/S
e /E
parecem implicar coisas opostas de acordo com a /?
ajuda da robocópia - "não são vazias" e são "vazias". Eu acho que você deveria escolher um.
robocopy
retorna um código de saída 1 se um ou mais arquivos foram copiados com êxito.
Você pode escrever um algoritmo recursivo no Lote que fornece controle exato do que você faz em todos os subdiretórios aninhados:
@echo off
call :treeProcess
goto :eof
:treeProcess
rem Do whatever you want here over the files of this subdir, for example:
copy *.* C:\dest\dir
for /D %%d in (*) do (
cd %%d
call :treeProcess
cd ..
)
exit /b
Arquivo de lote do Windows fazendo loop através de diretórios para processar arquivos?