Robocopy, um nur neue Ordner und Dateien zu kopieren

Um alle neuen Dateien und Unterordner unter einem Stammordner zu finden (sagen wir Dokumente) und sie auf eine andere Festplatte zu kopieren (J: in diesem Fall)

Verwendete Befehlszeile:

Robocopy c:\users\valery\documents j:\robocopy /XO /E /MAXAGE:20131030 /XD

Ergebnis: Ein vollständiger Ordnerbaum erstellt. Nur neue Dateien kopiert, wie angenommen. Es ist gut

Ein Punkt ist, dass ich nicht alle Unterordner auf einer Zielfestplatte erstellen möchte, wenn keine neuen vorhanden sind Dateien in Ihnen.

Ergebnisse sind akzeptabel, aber es gibt eine Menge Arbeit, um alle Ordner zu durchsuchen und neue Dateien zu finden, sowie zu verstehen, welche Unterordner neue sind

Author: Jawa, 2013-11-08

4 answers

Dafür kannst du /S hinzufügen. Sie benötigen nicht das \E, das zum Kopieren leerer Verzeichnisse dient. Sie benötigen nicht einmal das \XO, das vom \MAXAGE.

/N :: kopiert Unterverzeichnisse, jedoch keine leeren.

Wenn keine Dateien in ein Verzeichnis kopiert werden, wird das Verzeichnis nicht am Ziel erstellt.

robocopy c:\users\valery\documents j:\robocopy /S /MAXAGE:20131030 /XD {directories_to_exclude}

Wenn Sie keine Verzeichnisse zum Ausschließen haben, können Sie einfach Folgendes verwenden:

robocopy c:\users\valery\documents j:\robocopy /S /MAXAGE:20131030

Sie können ein robocopy /? für alle Hilfe tun.

 /S :: copy Subdirectories, but not empty ones.
 /E :: copy subdirectories, including Empty ones.
 /XD dirs [dirs]... :: eXclude Directories matching given names/paths.
 /XO :: eXclude Older files.
 /MAXAGE:n :: MAXimum file AGE - exclude files older than n days/date.
 11
Author: Rik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-11-08 21:30:06

Meine einfachen Befehle, die wunderbar funktionieren, sind:

RoboCopy.exe  "\\\SourceServer\Folder" "X:\WEB" /copy:datso /mir /fft /r:0 /w:0 /secfix /mt:20 /xo /xf thumbs.db /log+:X:\TON-FS4.log /nc /ns /np /ndl /nfl /tee

Erklärung:

  • X:\WEB ist mein Zielordner.
  • Schalter:
    • /copy:datso: Gibt die zu kopierenden Dateieigenschaften an:
      • (d: Data, a: Attribute, t: Zeitstempel, s: NTFS access control list (ACL), o: Besitzer-information)
    • /mir: Spiegelt einen Verzeichnisbaum
    • /fft: Nimmt FAT-Dateizeiten an, wichtig beim Kopieren von Daten
    • /r:0: Anzahl der wiederholungen bei fehlgeschlagenen
    • /w:0: Wartezeit zwischen Wiederholungen 0 Sekunden
    • /secfix: Behebt die Dateisicherheit für alle Dateien, auch übersprungene
    • /mt:20: Erstellt 20 Threads Kopien
    • /xo: Schließt ältere Dateien aus-wenn die Zieldatei vorhanden ist und das gleiche Datum oder neuer als die Quelle ist-überschreiben Sie sie nicht.
    • /xf thumbs.db: Schließt mit einem "Daumen.db " Dateien (Pfad) Sie können hier Wild-Zeichen verwenden (ei: *.mp3)
    • /log+:filename.log: Schreibt die Statusausgabe in die angegebene Protokolldatei
    • (hängt an die vorhandene Protokolldatei an) oder um ein neues Protokoll just /log:filename.log

Nicht dieser spezielle Fall, aber ich hoffe, dass dies jemandem hilft, wenn er die Migration von Dateiservern durchführt.

 5
Author: Ryan Chau,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-31 10:30:02
robocopy.exe "Q:\TEST" "T:\TEST" /E /XO /LOG+:"T:test.log

Nur um dies für bertieb aufzuschlüsseln-dieser Code soll direkt von der Befehlszeile und nicht in einem Bat-Skript ausgeführt werden.

Quelle & Ziele festlegen:

robocopy.exe "Q:\TEST" "T:\TEST"

"Q:\TEST" = Setzt das Quellverzeichnis auf zugeordnetes Laufwerk " Q "

"T:\TEST" = Setzt das Zielverzeichnis auf zugeordnetes Laufwerk " T "

VERWENDETE OPTIONEN:

/E /XO /LOG+:"T:test.log"
  1. /E: Unterverzeichnisse Einschließlich Leerer kopieren
  2. /XO: Ältere ausschließen Dateien
  3. LOG+: Dadurch wird der Robocopy-Prozess in a protokolliert .protokolldatei mit dem Namen test, die sich im Stammverzeichnis des Ziels befindet (dh über dem Ordner "TEST" auf T). LOG+ hängt den Ausgabestatus an den Test an.protokolldatei, anstatt sie zu überschreiben.

RANDNOTIZ:

Die Option LOG+ kann auf die Protokolloption umgeschaltet werden, wenn nur die Informationen der letzten Sitzung gespeichert werden sollen.

Leicht lesbare Version von mehr informationen zu Robocopy oder der Microsoft-Dokumentation .

 1
Author: radmin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2018-10-15 15:34:19
robocopy.exe "Q:\TEST" "T:\TEST" /E /XO /LOG+:"T:test.log"
 0
Author: Nate,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2020-03-31 10:28:06