win2003 maneira de copiar pastas de uma maneira inteligente?

2

Eu tenho 2 pastas, a primeira:

C:\folder1
C:\folder1\subfolder\a.txt
C:\folder1\subfolder\b.txt

e o segundo:

C:\folder2
C:\folder2\subfolder\a.txt

Eu gostaria de mesclá-los assim:

C:\folder2
C:\folder2\subfolder\a.txt (folder 2's a.txt)
C:\folder2\subfolder\b.txt

Descrição do que eu quero:

Existe um comando DOS simples para copiar todas as pastas, subpastas e arquivos da pasta1 para a pasta2, mas se houver algo na pasta2, não quero sobrescrevê-lo. Se a pasta 1 tiver arquivos que não existem na pasta2, quero que eles sejam copiados.

Nota: a pasta1 e a pasta2 compartilham nomes de subpastas comuns.

Nota 2: Folder2 é de vários TBs, então eu realmente tenho que copiar para a pasta 2. Folder1 é somente vários GB.

Eu não posso fazer isso no Windows Explorer porque não há opção para sobrescrever arquivos? Não para todos.

    
por Brian R. Bondy 07.06.2009 / 17:11

4 respostas

5

Sim, o utilitário do kit de recursos robocopy.exe acho que se tornou parte do sistema operacional com o Windows 2003. Você pode especificar todos os tipos de opções quanto ao que é substituído ou não.

Por padrão, o robocopy não sobrescreve os mesmos arquivos, apenas versões mais recentes - é uma ferramenta de sincronização de pastas, principalmente.

Se você quiser evitar qualquer espécie de sobrescrita, isso pode funcionar,

robocopy C:\FOLDER1 C:\FOLDER2 /e /xc /xn /xo 

onde

/e is copy all subfolders, even empty ones.
/xc is exclude changed files.
/xn is exclude newer files.
/xo is exclude older files.

Eu recomendo que você teste primeiro com esses switches adicionais,

robocopy C:\FOLDER1 C:\FOLDER2 /e /xc /xn /xo /l /log+:robocopy.txt /np /ndl /tee

onde

/l is just list, don't actually do anything. Remove this switch when you're happy with what robocopy will do.
/log+: appends output to a text file, so you can study it, or /log:, which overwrites the log each time.
/np prevents "% done" progress info in the log.
/ndl is a personal preference for a cleaner log output, but maybe leave this switch out until you're comfortable with how robocopy works.
/tee shows you output on the screen as well as the log.

    
por 07.06.2009 / 17:20
1

Você pode usar a opção / Y de XCOPY ou usar ROBOCOPY ("Cópia robusta de arquivos para Windows" como parte do Ferramentas do Resource Kit do Windows Server 2003 ), que por predefinição substitui sem pedir a confirmação.

    
por 07.06.2009 / 17:35
0

Outra boa opção é instalar o rsync na máquina Windows e obter todos os tipos de grande funcionalidade. O DeltaCopy é uma ferramenta baseada no rsync: link

    
por 07.06.2009 / 18:58
0

Você também pode usar o explorer para copiar o conteúdo da pasta2 para a pasta1 (ou para uma cópia da pasta1). Nesse caso, você pode sobrescrever arquivos existentes na pasta1 e, portanto, arquivos na pasta2 'win'.

Estou sentindo falta de algo?

    
por 07.06.2009 / 19:24