Copie todos os arquivos, pule os que já existem e exclua aqueles no destino que não estão na origem

1

Eu imagino que isso poderia ser feito com o Robocopy - eu quero copiar minha biblioteca de músicas da pasta no meu PC para o meu mp3 player. Eu tenho ~ 5000 músicas, e provavelmente irei rodar a cópia toda vez que eu adicionar um álbum.

Agora, usando apenas a cópia do Windows, posso dizer para ignorar os arquivos preexistentes e ele será executado de maneira relativamente rápida. No entanto, quero que meu destino (mp3 player) reflita também a música deleted . Não tenho certeza se simplesmente usar um comando mirror faria isso - presumi que isso não levaria em conta os arquivos preexistentes.

Exemplo rápido:

Pasta de origem:

song1.mp3
song3.mp3
song4.mp3

Pasta de destino ANTES de copiar:

song1.mp3
song2.mp3
song3.mp3

Pasta de destino APÓS copiar (Idêntico à fonte):

song1.mp3
song3.mp3
song4.mp3

O ponto importante é que, durante a cópia, song1.mp3 e song3.mp3 foram ignorados (NÃO sobrescritos, ou a cópia levará uma eternidade - porque tenho muitas músicas) e song2.mp3 foi excluído.

    
por Wilson 08.07.2013 / 01:25

2 respostas

1

Eu usaria algo assim:

robocopy <Source> <Destination> /E /COPY:DAT /XO /PURGE /R:1 /W:1

Da ajuda do robocopy:

/PURGE :: delete dest files/dirs that no longer exist in source.
/XO :: eXclude Older files.
    
por 08.07.2013 / 16:03
0

Isso parece uma tarefa para um software de backup. Eu não tentei, mas cwrsync parece OK para mim. É uma embalagem do Windows de uma ferramenta F / OSS testada em batalha rsync com uma GUI como um bônus interessante.

Note que na página que eu coloquei eles dizem que "Você deve, no entanto, ter um sistema ssh funcional", mas eu não levaria isso literalmente, o software não deveria se recusar a operar com ssh se ambos os pontos fossem locais .

    
por 08.07.2013 / 02:23