Ferramenta de linha de comando Robocopy (vem com a maioria das versões do windows)
Na minha máquina com Windows 10, ele está localizado emC:\Windows\System32
Na Wikipedia , ele pode ser usado com o seguinte conjunto de opções para preservar registros de data e hora de arquivos e diretórios, além de outros atributos:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPYALL /E /R:0
/DCOPY:T
preservar os carimbos de data / hora dos diretórios originais (requer a versão XP026 ou posterior)
/E
: Copie diretórios recursivamente, incluindo diretórios vazios
/R:0
: não tente novamente os arquivos bloqueados (o número padrão de tentativas em cópias com falha é de 1 milhão),
/COPYALL
: Copie todas as informações do arquivo
(equivalente a /COPY:DATSOU
, em que
D
= Dados,
A
= Atributos,
T
= Data e hora do arquivo ,
S
= Segurança = ACLs NTFS,
O
= Informações do proprietário,
U
= Informações de auditoria),
Se você deseja preservar apenas os carimbos de data e hora do diretório, mas não deseja copiar subdiretórios vazios e não deseja que outros atributos sejam preservados, você pode usar:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPY:T /S
onde /S
copia subdiretórios não vazios
Para ver a sintaxe completa, digite robocopy /?
em um prompt de comando ou veja estas postagens no blog: https://ss64.com/nt/robocopy.html e
https://techjourney.net/robocopy-syntax-command-line -switches-and-examples /
Um exemplo de comando que executei recentemente:
Robocopy D:\ C:\D_backup /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Observe como a exclusão de 2 subdiretórios exige que o /XD
sinalizador seja usado duas vezes. Além disso, a segunda exclusão de diretório usa aspas porque existem espaços no nome do diretório.
Por fim, você pode adicionar o /L
sinalizador para testar o comando antes de realizá-lo. Dessa forma, você pode verificar se ele não copiará (ou removerá) nenhum diretório / arquivo que você não deseja e que não há erros no seu comando.
Edit: gotcha ao copiar de um diretório raiz (também conhecido como unidade) para uma pasta (diretório não raiz)
Depois de executar o comando de exemplo acima, o diretório não estava visível! (Mesmo que show hidden files
e show system files
foram verificadas em Windows 10!) O seguinte comando como por https://serverfault.com/a/455029/399723 fixo isto:
attrib -h -s C:\D_backup
Como alternativa, adicionar a opção /A-:SH
"desativa o atributo oculto dos arquivos do sistema" pode impedir que o diretório fique oculto em primeiro lugar, conforme https://serverfault.com/a/565804/399723 . Consulte também https://ss64.com/nt/robocopy.html .
Essa discussão lança mais luz sobre essa opção como solução.
Robocopy D:\ C:\D_backup /A-:SH /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Outro software:
Como alternativa, você pode baixar uma versão GUI do robocopy, se não desejar usar a linha de comando.
Outro utilitário do Windows é o XCopy , embora esteja incluído no Windows 10, está sendo preterido. Veja o link para dicas.
A página da Wikipedia para RoboCopy (vinculada no início desta postagem) lista outros softwares que podem ser usados.