Wie kopiere ich NUR die Dateien, die sich nicht im Ziel befinden?

31

Ist es möglich, mit Robocopy nur die Dateien zu kopieren, die im Ziel nicht vorhanden sind?

robocopy hat einen / is-Schalter (einschließlich derselben Dateien). Was ich suche, ist ein / xs Schalter. Wenn eine Datei sowohl in der Quelle als auch im Ziel vorhanden ist, soll sie nicht kopiert werden. Das Kriterium ist nur der Dateiname, ungeachtet des geänderten Tages, der Größe usw. Auch wenn die Quelle eine neuere Datei (basierend auf dem Änderungsdatum) als die gleiche Datei im Ziel hat, möchte ich nicht, dass sie kopiert wird . Möglich, dies zu tun? Vielen Dank.

yky
quelle

Antworten:

37

Verwenden Sie einfach die Flags (Geändert /xcausschließen) /xn(Neueres ausschließen) und /xo(Älteres ausschließen):

robocopy /xc /xn /xo source destination 
Harry Johnston
quelle
Das funktioniert nicht (zumindest wenn Sie auch andere Optionen haben - zB / b / e / copyall). Robocopy betrachtet den Zeitstempel und ich glaube, auch wenn der Zeitstempel, auf den zuletzt zugegriffen wurde, unterschiedlich ist, wird er kopiert. Wenn es einen Weg gibt, würde ich gerne davon erfahren.
Die Optionen / xn und / xo sollten verhindern, dass Robocopy aufgrund eines anderen Zeitstempels kopiert wird. Hat gut funktioniert, als ich es getestet habe. Robocopy berücksichtigt nicht den Zeitstempel, auf den zuletzt zugegriffen wurde. Ihre Antwort wird wahrscheinlich entfernt (da es sich nicht um eine Antwort handelt), aber Sie können mir eine E-Mail senden, wenn Sie dies diskutieren möchten.
Harry Johnston
4
Verwenden Sie / FFT, wenn Sie zwischen verschiedenen Dateisystemen (NTFS, FAT) kopieren. Es sollte Robocopy daran hindern, zu glauben, dass eine Datei älter / neuer ist, obwohl es sich tatsächlich um dasselbe Datum und dieselbe Uhrzeit handelt.
Martin
@HarryJohnston, ich habe ein Skript, das in einer .bat-Datei ausgeführt wird. Es scheint die Dateien zu kopieren, überschreibt jedoch die Datei im Zielordner. Ich möchte wissen, wie dieses Skript die Dateien verschiebt und im Zielordner einen Zeitstempel als Teil des Zieldateinamens hinzufügt. 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
Es lohnt sich auch, den /sSchalter hinzuzufügen , da er sonst keine Verzeichnisse eingibt, wenn sie bereits vorhanden sind.
Tom Carpenter
-1

Wenn Sie von links nach rechts kopieren, möchten Sie nur verwaiste Dateien von links nach rechts kopieren.

Ich benutze ein Pay-Tool namens Beyond Compare , das diese Art von Szenarien handhabt. RoboCopy eignet sich hervorragend für zugeordnete Laufwerke oder sogar UNC-Pfade, aber meine beiden Anwendungsfälle umfassen:

  • FTP, um neue Dateien auf meine Website zu kopieren
  • Verschieben / Archivieren von Dateien in DropBox

Das kann ich mit RoboCopy leider nicht machen.

Sonne
quelle