¿Cómo copiar SOLO aquellos archivos que no están en el destino?

31

¿Es posible usar robocopy para copiar solo los archivos que no existen en el destino?

robocopy tiene un modificador / is (incluye los mismos archivos). Lo que estoy buscando es un modificador / xs. Si existe un archivo tanto en el origen como en el destino, no quiero que se copie. El criterio es solo el nombre del archivo, independientemente del día modificado, el tamaño, etc. Por ejemplo, incluso si el origen tiene un archivo más nuevo (basado en la fecha de modificación) que el mismo archivo en el destino, no quiero que se copie . ¿Posible hacer esto? Gracias.

yky
fuente

Respuestas:

37

Simplemente use los indicadores /xc(excluir cambios) /xn(excluir más nuevos) y /xo(excluir más antiguos):

robocopy /xc /xn /xo source destination 
Harry Johnston
fuente
Eso no funciona (al menos si también tiene otras opciones, es decir, / b / e / copyall). Robocopy analiza la marca de tiempo y creo que incluso si la última marca de tiempo visitada es diferente, se copiará. Si hay un camino, me encantaría saberlo.
Las opciones / xn y / xo deberían evitar que la copia robótica se copie debido a una marca de tiempo diferente. Funcionó bien cuando lo probé. Robocopy no presta atención a la última marca de tiempo visitada. Su respuesta probablemente se eliminará (porque no es una respuesta) pero puede enviarme un correo electrónico si desea discutir esto.
Harry Johnston
44
Use / FFT si copia entre diferentes sistemas de archivos (NTFS, FAT). Debe evitar que Robocopy piense que un archivo es más antiguo / más nuevo mientras que en realidad es la misma fecha y hora.
Martin
@HarryJohnston, tengo un script que se ejecuta en un archivo .bat y parece copiar los archivos pero sobrescribe el archivo en la carpeta de destino. Lo que quiero saber es cómo consigo que este script mueva los archivos y, en la carpeta de destino, agregue una marca de tiempo como parte del nombre del archivo 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
55
Vale la pena agregar el /sinterruptor también, de lo contrario no entrará en directorios si ya existen.
Tom Carpenter
-1

Si está copiando de izquierda a derecha, solo desea copiar archivos huérfanos de izquierda a derecha.

Utilizo una herramienta de pago llamada Beyond Compare que maneja este tipo de escenarios. RoboCopy es ideal para unidades mapeadas o incluso rutas UNC, pero mis dos casos de uso incluyen:

  • FTP para copiar nuevos archivos a mi sitio web
  • mover / archivar archivos a DropBox

Eso, desafortunadamente no puedo hacerlo con RoboCopy.

Dom
fuente