Robocopy ferramenta de linha de comando (vem com a maioria das versões do windows)
Na minha máquina windows 10 está localizada em C:\Windows\System32
De Wikipedia , pode ser usada com o seguinte conjunto de opções para preservar o ficheiro e directório de timestamps, bem como outros atributos:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPYALL /E /R:0
/DCOPY:T
preservar original Carimbos temporais dos directórios (requer a versão XP026 ou posterior)
/E
: Copiar directórios recursivamente, incluindo Directórios vazios
/R:0
: não repetir ficheiros bloqueados (o número de tentativas em cópias falhadas é de 1 milhão por defeito),
/COPYALL
: Copiar todas as informações do ficheiro,
(equivalente a /COPY:DATSOU
, em que
& se apenas quiser preservar os carimbos de data e hora do directório, mas se não quiser subdirectórios vazios copiados e se não quiser outros atributos preservados, então pode utilizar:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPY:T /S
onde /S
copia non-empty subdirectórios
Para ver a sintaxe completa, escreva robocopy /?
num prompt de comando, ou dê uma vista de olhos nestes posts do blog: https://ss64.com/nt/robocopy.html an https://techjourney.net/robocopy-syntax-command-line-switches-and-examples/
Um exemplo de um 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
Note como a exclusão de 2 subdirectórios exige que a bandeira /XD
seja usada duas vezes. Além disso, a segunda exclusão de directório utiliza citações porque existem espaços no nome do directório.
Finalmente, pode adicionar a bandeira /L
para testar o comando antes de o fazer de verdade. Desta forma, pode verificar que não copia (ou remove) quaisquer directórios/ficheiros que não queira, e que não existem erros no seu comando.
Editar: obteve-o quando copiou de um Directório Raiz (aka drive) para uma Pasta (directório não-raiz)
Depois de executar o comando de exemplo acima, o directório não estava visível! (Apesar de show hidden files
e show system files
terem sido verificados no Windows 10!) O seguinte comando de acordo com https://serverfault.com/a/455029/399723 corrigiu isto:
attrib -h -s C:\D_backup
Em alternativa, adicionando o /A-:SH
“unsets the Hidden Attribute from System files”, pode assim evitar que o directório fique escondido em primeiro lugar, de acordo com https://serverfault.com/a/565804/399723 . Ver também https://ss64.com/nt/robocopy.html .
Esta descrição lança mais luz sobre esta opção como uma 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:
Em alternativa, pode descarregar uma versão GUI do robocopy se não quiser utilizar a linha de comando.
Outro utilitário do windows é XCopy , embora esteja incluído no windows 10, está a ser depreciado. Ver o link para gotchas.
A página da Wikipedia para RoboCopy (ligada no topo deste post) lista outros programas que podem ser utilizados.