Comment copier SEULEMENT les fichiers qui ne sont pas dans la destination?

31

Est-il possible d'utiliser robocopy pour copier uniquement les fichiers qui n'existent pas dans la destination?

robocopy a un commutateur / is (inclure les mêmes fichiers). Ce que je recherche, c'est un commutateur / xs. Si un fichier existe à la fois dans la source et dans la destination, je ne veux pas qu'il soit copié. Le critère est le nom de fichier uniquement, indépendamment du jour, de la taille, etc. modifiés. Par exemple, même si la source a un fichier plus récent (basé sur la date de modification) que le même fichier dans la destination, je ne veux pas qu'il soit copié . Possible de faire ça? Merci.

yky
la source

Réponses:

37

Utilisez simplement les indicateurs /xc(exclure les modifications) /xn(exclure les plus récents) et /xo(exclure les anciens):

robocopy /xc /xn /xo source destination 
Harry Johnston
la source
Cela ne fonctionne pas (du moins si vous avez également d'autres options - ie / b / e / copyall). Robocopy regarde l'horodatage et je crois que même si le dernier horodatage consulté est différent, il sera copié. S'il y a un moyen, j'aimerais le savoir.
Les options / xn et / xo devraient empêcher la copie de robocopy en raison d'un horodatage différent. A bien fonctionné quand je l'ai testé. Robocopy ne fait pas attention au dernier horodatage consulté. Votre réponse sera probablement supprimée (car ce n'est pas une réponse) mais vous pouvez m'envoyer un e-mail si vous souhaitez en discuter.
Harry Johnston
4
Utilisez / FFT si vous copiez entre différents systèmes de fichiers (NTFS, FAT). Cela devrait empêcher Robocopy de penser qu'un fichier est plus ancien / plus récent alors qu'il s'agit en fait de la même date et de la même heure.
Martin
@HarryJohnston, j'ai un script qui s'exécute dans un fichier .bat et il semble copier les fichiers mais écrase le fichier dans le dossier de destination. Ce que je veux savoir, c'est comment obtenir ce script pour déplacer les fichiers et dans le dossier de destination ajouter un horodatage dans le nom du fichier de destination? 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
Il vaut également la peine d'ajouter le /scommutateur, sinon il n'entrera pas dans les répertoires s'ils existent déjà.
Tom Carpenter
-1

Si vous copiez de gauche à droite, vous ne souhaitez copier que les fichiers orphelins de gauche à droite.

J'utilise un outil de rémunération appelé Beyond Compare qui gère ce type de scénarios. RoboCopy est idéal pour les lecteurs mappés ou même les chemins UNC, mais mes deux cas d'utilisation impliquent:

  • FTP pour copier de nouveaux fichiers sur mon site web
  • déplacer / archiver des fichiers dans DropBox

Cela, je ne peux malheureusement pas le faire avec RoboCopy.

Soleil
la source