Como copiar APENAS os arquivos que não estão no destino?

31

É possível usar o robocopy para copiar apenas os arquivos que não existem no destino?

robocopy possui uma opção / is (inclui os mesmos arquivos). O que estou procurando é uma opção / xs. Se existe um arquivo na origem e no destino, não quero que ele seja copiado. O critério é apenas o nome do arquivo, independentemente do dia, tamanho, etc. modificados. Por exemplo, mesmo que a fonte tenha um arquivo mais novo (com base na data da modificação) que o mesmo arquivo no destino, não quero que ele seja copiado . Possível fazer isso? Obrigado.

yky
fonte

Respostas:

37

Basta usar os sinalizadores /xc(excluir alterado) /xn(excluir novo) e /xo(excluir antigo):

robocopy /xc /xn /xo source destination 
Harry Johnston
fonte
Isso não funciona (pelo menos se você tiver outras opções também - ie / b / e / copyall). O Robocopy analisa o registro de data e hora e acredito que, mesmo que o último registro de data e hora acessado seja diferente, ele será copiado. Se existe uma maneira, gostaria de saber sobre isso.
As opções / xn e / xo devem impedir a cópia da robocópia devido a um carimbo de data / hora diferente. Funcionou bem quando eu testei. O Robocopy não presta atenção ao último registro de data e hora acessado. Sua resposta provavelmente será removida (porque não é uma resposta), mas você pode me enviar um email se quiser discutir isso.
Harry Johnston
4
Use / FFT se você copiar entre diferentes sistemas de arquivos (NTFS, FAT). Isso deve impedir que o Robocopy pense que um arquivo é mais antigo / mais recente, enquanto na verdade é a mesma data e hora.
Martin Martin
@HarryJohnston, eu tenho um script que é executado em um arquivo .bat e parece copiar os arquivos, mas substitui o arquivo na pasta de destino. O que eu quero saber é como faço para que esse script mova os arquivos e, na pasta de destino, adicione um carimbo de data e hora como parte do nome do arquivo de destino? START /WAIT robocopy %EFM_EXPORT% %EFM_TEMP% *.CFX /S /NP /R:5 /W:5 /XX /XD *PR *PA *TA *DC *Bypass /MOV /LOG:%EFM_MOVE%
DJ KRAZE
5
Vale a pena adicionar a /sopção também, caso contrário, ela não entrará nos diretórios se eles já existirem.
Tom Carpenter
-1

Se você estiver copiando da esquerda para a direita, deseja copiar apenas arquivos órfãos da esquerda para a direita.

Eu uso uma ferramenta de pagamento chamada Beyond Compare que lida com esse tipo de cenário. O RoboCopy é ótimo para unidades mapeadas ou até caminhos UNC, mas meus dois casos de uso envolvem:

  • FTP para copiar novos arquivos para o meu site
  • mover / arquivar arquivos no DropBox

Infelizmente, não posso fazer isso com o RoboCopy.

Dom
fonte