robocopy

Kopiert Dateidaten zwischen Speicherorten.

Syntax

robocopy <source> <destination> [<file>[ ...]] [<options>]

Wenn Sie beispielsweise eine Datei namens yearly-report.mov aus c:\reports in eine Dateifreigabe \\marketing\videos kopieren möchten, während Multithreading für eine höhere Leistung (mit dem Parameter /mt) und die Möglichkeit zum Neustarten der Übertragung im Falle einer Unterbrechung (mit dem Parameter /z) aktiviert wird, geben Sie Folgendes ein:

robocopy c:\reports "\\marketing\videos" yearly-report.mov /mt /z

Wichtig

Wenn Daten aus dem Stammverzeichnis eines Geräts kopiert werden, übernimmt das Zielverzeichnis während des Kopiervorgangs das Attribut „verborgen“.

Parameter

Parameter BESCHREIBUNG
<source> Gibt den Pfad zum Quellverzeichnis an.
<destination> Gibt den Pfad zum Zielverzeichnis an.
<file> Gibt die Dateien an, die kopiert werden sollen. Platzhalterzeichen (* oder ?) werden unterstützt. Wenn Sie diesen Parameter nicht angeben, wird *.* als Standardwert verwendet.
<options> Gibt die Optionen an, die mit dem robocopy-Befehl verwendet werden sollen, einschließlich der Optionen Kopieren, Datei, Wiederholen, Protokollieren und Auftrag.

Kopieroptionen

Option BESCHREIBUNG
/s Kopiert Unterverzeichnisse. Diese Option schließt leere Verzeichnisse automatisch aus.
/e Kopiert Unterverzeichnisse. Diese Option bezieht leere Verzeichnisse automatisch ein.
/lev:<n> Kopiert nur die obersten n Ebenen der Quellverzeichnisstruktur.
/z Kopiert Dateien im Neustartmodus. Wird im Neustartmodus das Kopieren einer Datei unterbrochen, kann Robocopy an der Stelle weitermachen, wo der Kopiervorgang aufgehört hat, anstatt die gesamte Datei erneut zu kopieren.
/b Kopiert Dateien im Sicherungsmodus. Im Sicherungsmodus überschreibt Robocopy Datei- und Ordnerberechtigungseinstellungen (ACLs), die andernfalls den Zugriff blockieren könnten.
/zb Kopiert Dateien im Neustartmodus. Wenn der Dateizugriff verweigert wird, wird in den Sicherungsmodus gewechselt.
/j Kopiert mit ungepufferten E/A-Vorgängen (empfohlen für große Dateien).
/efsraw Kopiert alle verschlüsselten Dateien im EFS-RAW-Modus.
/copy:<copyflags> Gibt an, welche Dateieigenschaften kopiert werden sollen. Die gültigen Werte für diese Option sind:
  • D – Daten
  • A – Attribute
  • T – Zeitstempel
  • X: Überspringen von Alt-Datenströmen
  • S – NTFS-Zugriffssteuerungsliste (Access Control List; ACL)
  • O – Besitzerinformationen
  • U – Überwachungsinformationen
Der Standardwert für die Option /COPY ist DAT (Daten, Attribute und Zeitstempel). Das Flag X wird ignoriert, wenn entweder /B oder /ZB verwendet wird.
/dcopy:<copyflags> Gibt an, was in Verzeichnisse kopiert werden soll. Die gültigen Werte für diese Option sind:
  • D – Daten
  • A – Attribute
  • T – Zeitstempel
  • E: Erweitertes Attribut
  • X: Überspringen von Alt-Datenströmen
Der Standardwert für diese Option ist DA (Daten und Attribute).
/Sek. Kopiert Dateien mit Sicherheit (entspricht /copy:DATS).
/copyall Kopiert alle Dateiinformationen (entspricht /copy:DATSOU).
/nocopy Kopiert keine Dateiinformationen (hilfreich mit /purge).
/secfix Behebt die Dateisicherheit für alle Dateien, auch für übersprungene Dateien.
/timfix Behebt die Dateizeitangaben für alle Dateien, auch für übersprungene Dateien.
/purge Löscht Zieldateien und Verzeichnisse, die in der Quelle nicht mehr vorhanden sind. Wenn Sie diese Option mit der Option /e und einem Zielverzeichnis verwenden, können die Sicherheitseinstellungen des Zielverzeichnisses nicht überschrieben werden.
/mir Spiegelt eine Verzeichnisstruktur (entspricht /e plus /purge). Wenn Sie diese Option mit der Option /e und einem Zielverzeichnis verwenden, werden die Sicherheitseinstellungen des Zielverzeichnisses überschrieben.
/mov Verschiebt Dateien und löscht sie aus der Quelle, nachdem sie kopiert wurden.
/move Verschiebt Dateien und Verzeichnisse und löscht sie aus der Quelle, nachdem sie kopiert wurden.
/a+:[RASHCNET] Fügt kopierten Dateien die angegebenen Attribute hinzu. Die gültigen Werte für diese Option sind:
  • R – schreibgeschützt
  • A – Archiv
  • S – System
  • H – versteckt
  • C – komprimiert
  • N – Inhalt nicht indiziert
  • E – verschlüsselt
  • T – temporär
/a-:[RASHCNETO] Entfernt die angegebenen Attribute aus kopierten Dateien. Die gültigen Werte für diese Option sind:
  • R – schreibgeschützt
  • A – Archiv
  • S – System
  • H – versteckt
  • C – komprimiert
  • N – Inhalt nicht indiziert
  • E – verschlüsselt
  • T – temporär
  • O – offline
/create Erstellt nur eine Verzeichnisstruktur und Dateien der Länge null.
/fat Erstellt Zieldateien nur unter Verwendung von FAT-Dateinamen mit einer Zeichenlänge von 8,3.
/256 Deaktiviert die Unterstützung für Pfade, die länger als 256 Zeichen sind.
/mon:<n> Überwacht die Quelle und wird erneut ausgeführt, wenn mehr als n Änderungen erkannt werden.
/mot:<m> Überwacht die Quelle und wird in m Minuten erneut ausgeführt, wenn Änderungen erkannt werden.
/rh:hhmm-hhmm Gibt Laufzeiten an, zu denen neue Kopien gestartet werden können.
/pf Überprüft die Laufzeiten auf Dateibasis (nicht pro Durchlauf).
/ipg:<n> Gibt die paketübergreifende Lücke an, um Bandbreite bei langsamen Leitungen frei zu machen.
/sj Kopiert Verbindungen (weiche Links) anstelle von Linkzielen in den Zielpfad.
/sl Folgen Sie keinen symbolischen Links, und erstellen Sie stattdessen eine Kopie des Links.
/mt:<n> Erstellt Multithreadkopien mit n Threads. n muss eine ganze Zahl zwischen 1 und 128 sein. Der Standardwert für n ist 8. Um die Leistung zu verbessern, leiten Sie Ihre Ausgabe mit der Option /log um.

Der Parameter /mt kann nicht mit den Parametern /ipg und /efsraw verwendet werden.

/nodcopy Kopiert keine Verzeichnisinformationen (die Standardeinstellung /dcopy:DA ist fertig).
/nooffload Kopiert Dateien, ohne den Windows-Kopieabladungsmechanismus zu verwenden.
/compress Fordert ggf. die Netzwerkkomprimierung während der Dateiübertragung an.
/sparse Ermöglicht das Beibehalten des Sparse-Zustands von Dateien während des Kopierens.

Wichtig

Wenn Sie die Kopieroption /secfix verwenden, geben Sie den Typ der Sicherheitsinformationen an, die Sie kopieren möchten, indem Sie eine der folgenden zusätzlichen Kopieroptionen verwenden:

  • /copyall
  • /copy:o
  • /copy:s
  • /copy:u
  • /sec

Hinweis

Der Parameter /mt wurde in Windows Server 2008 R2 eingeführt und seine Funktionalität gilt für aktuelle Versionen von Windows Server.

Optionen für die Drosselung des Datenkopiervorgangs

Option BESCHREIBUNG
/iomaxsize:<n>[kmg] Die angeforderte maximale E/A-Größe pro Lese-/Schreibzyklus in nkilobyte, megabyte oder gigabyte.
/iorate:<n>[kmg] Die angeforderte E/A-Rate in nkilobyte megabyte oder gigabyte pro Sekunde.
/threshold:<n>[kmg] Der Schwellenwert für die Dateigröße für die Drosselung in nkilobyte, megabyte oder gigabyte (siehe Hinweise).

Diese Drosselungsoptionen werden verwendet, um die maximale E/A-Bandbreite in Byte pro Sekunde anzugeben, die Robocopy verwenden darf. Wenn die Angabe nicht in Byte pro Sekunde ist, können ganze Zahlen verwendet werden, wenn k, m oder g angegeben werden. Die minimale E/A-Bandbreite, die gedrosselt wird, beträgt 524288 Byte, auch wenn ein geringerer Wert angegeben wird.

Optionen für die Dateiauswahl

Option BESCHREIBUNG
/a Kopiert nur Dateien, für die das Attribut Archiv festgelegt ist.
/m Kopiert nur Dateien, für die das Attribut Archiv festgelegt ist, und setzt das Attribut Archiv zurück.
/ia:[RASHCNETO] Enthält nur Dateien, für die eines der angegebenen Attribute festgelegt ist. Die gültigen Werte für diese Option sind:
  • R – schreibgeschützt
  • A – Archiv
  • S – System
  • H – versteckt
  • C – komprimiert
  • N – Inhalt nicht indiziert
  • E – verschlüsselt
  • T – temporär
  • O – offline
/xa:[RASHCNETO] Schließt Dateien aus, für die eines der angegebenen Attribute festgelegt ist. Die gültigen Werte für diese Option sind:
  • R – schreibgeschützt
  • A – Archiv
  • S – System
  • H – versteckt
  • C – komprimiert
  • N – Inhalt nicht indiziert
  • E – verschlüsselt
  • T – temporär
  • O – offline
/xf <filename>[ ...] Schließt Dateien aus, die den angegebenen Namen oder Pfaden entsprechen. Die Platzhalterzeichen (* und ?) werden unterstützt.
/xd <directory>[ ...] Schließt Verzeichnisse aus, die den angegebenen Namen und Pfaden entsprechen.
/xc Schließt vorhandene Dateien mit demselben Zeitstempel, aber unterschiedlichen Dateigrößen aus.
/xn Quellverzeichnisdateien, die neuer als das Ziel sind, werden von der Kopie ausgeschlossen.
/xo Quellverzeichnisdateien, die älter als das Ziel sind, werden von der Kopie ausgeschlossen.
/xx Schließt zusätzliche Dateien und Verzeichnisse aus, die im Ziel vorhanden sind, aber nicht in der Quelle. Wenn Sie zusätzliche Dateien ausschließen, werden keine Dateien vom Ziel gelöscht.
/xl Schließt „vereinzelte“ Dateien und Verzeichnisse aus, die in der Quelle vorhanden sind, aber nicht im Ziel. Das Ausschließen von vereinzelten Dateien verhindert, dass dem Ziel neue Dateien hinzugefügt werden.
/im Fügen Sie geänderte Dateien ein (unterschiedliche Änderungszeiten).
/is Schließt die gleichen Dateien ein. Dieselben Dateien sind in Name, Größe, Uhrzeit und allen Attributen identisch.
/it Enthält „optimierte“ Dateien. Optimierte Dateien haben den gleichen Namen, die gleiche Größe und die gleiche Uhrzeit, aber unterschiedliche Attribute.
/max:<n> Gibt die maximale Dateigröße an (um Dateien auszuschließen, die größer als n Byte sind).
/min:<n> Gibt die Mindestdateigröße an (um Dateien auszuschließen, die kleiner als n Byte sind).
/maxage:<n> Gibt das maximale Alter der Datei an (um Dateien auszuschließen, die älter als n Tage oder Datum sind).
/minage:<n> Gibt das Mindestalter der Datei an (Ausschließen von Dateien neuer als n Tage oder Datum).
/maxlad:<n> Gibt das maximale Datum des letzten Zugriffs an (schließt Dateien aus, die seit n nicht verwendet wurden).
/minlad:<n> Gibt das Mindestdatum des letzten Zugriffs an (schließt Dateien aus, die seit n verwendet wurden). Falls n kleiner als 1900 ist, gibt n die Anzahl der Tage an. Andernfalls gibt n ein Datum im Format JJJJMMDD an.
/xj Schließt Verbindungspunkte aus, die normalerweise standardmäßig enthalten sind.
/fft Setzt FAT-Dateizeitangaben voraus (Zwei-Sekunden-Genauigkeit).
/dst Gleicht DST-Zeitunterschiede von einer Stunde aus.
/xjd Schließt Verknüpfungspunkte für Verzeichnisse aus.
/xjf Schließt Verknüpfungspunkte für Dateien aus.

Wiederholungsoptionen

Option BESCHREIBUNG
/r:<n> Gibt die Anzahl von Wiederholungsversuchen für fehlerhafte Kopiervorgänge an. Der Standardwert von n ist „1.000.000“ (eine Million Wiederholungen).
/w:<n> Gibt die Wartezeit zwischen Wiederholungen in Sekunden an. Der Standardwert von n ist „30“ (Wartezeit von 30 Sekunden).
/reg Speichert die in den Optionen /r und /w angegebenen Werte als Standardeinstellungen in der Registrierung.
/tbd Gibt an, dass das System auf die Definition von Freigabenamen wartet (Wiederholungsfehler 67).
/lfsm Verwendet den Modus mit wenig freiem Speicherplatz, der das Kopieren, Anhalten und Fortsetzen ermöglicht (siehe Hinweise).
/lfsm:<n>[kmg] Gibt die untere Grenze der Größe in nkilobyte, megabyte oder gigabyte an.

Protokollierungsoptionen

Option BESCHREIBUNG
/l Gibt an, dass Dateien nur aufgelistet werden sollen (und nicht kopiert, gelöscht oder mit Zeitstempel versehen werden sollen).
/x Meldet alle zusätzlichen Dateien, nicht nur die ausgewählten Dateien.
/v Erzeugt eine ausführliche Ausgabe und zeigt alle übersprungenen Dateien an.
/ts Enthält Zeitstempel der Quelldatei in der Ausgabe.
/fp Enthält die vollständigen Pfadnamen der Dateien in der Ausgabe.
/bytes Druckt Größen als Bytes.
/ns Gibt an, dass Dateigrößen nicht protokolliert werden sollen.
/nc Gibt an, dass Dateiklassen nicht protokolliert werden sollen.
/nfl Gibt an, dass Dateinamen nicht protokolliert werden sollen.
/ndl Gibt an, dass Verzeichnisnamen nicht protokolliert werden sollen.
/np Gibt an, dass der Status des Kopiervorgangs (die Anzahl bisher kopierter Dateien oder Verzeichnisse) nicht angezeigt wird.
/eta Zeigt die geschätzte Ankunftszeit (ETA) der kopierten Dateien an.
/log:<logfile> Schreibt die Statusausgabe in die Protokolldatei (vorhandene Protokolldatei wird überschrieben).
/log+:<logfile> Schreibt die Statusausgabe in die Protokolldatei (hängt die Ausgabe an die vorhandene Protokolldatei an).
/unilog:<logfile> Schreibt die Statusausgabe als Unicode-Text in die Protokolldatei (vorhandene Protokolldatei wird überschrieben).
/unilog+:<logfile> Schreibt die Statusausgabe als Unicode-Text in die Protokolldatei (hängt die Ausgabe an die vorhandene Protokolldatei an).
/tee Schreibt die Statusausgabe in das Konsolenfenster und in die Protokolldatei.
/njh Gibt an, dass kein Auftragsheader vorhanden ist.
/njs Gibt an, dass keine Auftragszusammenfassung vorhanden ist.
/unicode Zeigt die Statusausgabe als Unicode-Text an.

Auftragsoptionen

Option BESCHREIBUNG
/job:<jobname> Gibt an, dass Parameter von der benannten Auftragsdatei abgeleitet werden sollen. Zum Ausführen von /job:jobname müssen Sie zunächst den /save:jobname-Parameter ausführen, um die Auftragsdatei zu erstellen.
/save:<jobname> Gibt an, dass Parameter in der benannten Auftragsdatei gespeichert werden sollen. Diese muss vor dem Ausführen von /job:jobname ausgeführt werden. Alle Kopier-, Wiederholungs- und Protokollierungsoptionen müssen vor diesem Parameter angegeben werden.
/verlassen Wird nach der Verarbeitung der Befehlszeile beendet (zum Anzeigen von Parametern).
/nosd Gibt an, dass kein Quellverzeichnis angegeben ist.
/nodd Gibt an, dass kein Zielverzeichnis angegeben ist.
/if Schließt die angegebenen Dateien ein.

Hinweise

  • Die Verwendung von /PURGE oder /MIR im Stammverzeichnis des Volumes hat früher dazu geführt, dass Robocopy den angeforderten Vorgang auch auf Dateien im Verzeichnis mit Systemvolumeinformationen anwendet. Dies ist nicht mehr der Fall, da Robocopy alle Dateien oder Verzeichnisse mit diesem Namen in den übergeordneten Quell- und Zielverzeichnissen der Kopiersitzung überspringt.

  • Die Klassifizierung geänderter Dateien ist nur anwendbar, wenn sowohl Quell- als auch Zieldateisysteme Änderungszeitstempel wie NTFS unterstützen und die Quell- und Zieldateien unterschiedliche Änderungszeiten haben, andernfalls aber identisch sind. Diese Dateien werden standardmäßig nicht kopiert. Geben Sie /IM an, um sie einzuschließen.

  • Das Flag /DCOPY:E fordert an, dass das erweiterte Kopieren von Attributen für Verzeichnisse versucht werden soll. Robocopy wird fortgesetzt, wenn die EAs eines Verzeichnisses nicht kopiert werden konnten. Dieses Flag ist in /COPYALL nicht enthalten.

  • Wenn entweder /IoMaxSize oder /IoRate angegeben sind, aktiviert Robocopy die Drosselung des Datenkopiervorgangs, um die Systemlast zu verringern. Beide können auf optimale Werte und Kopierparameter festgelegt werden, wobei das System und Robocopy sie bei Bedarf auf zugelassene Werte ändern können.

  • Wenn /Threshold verwendet wird, wird eine Mindestdateigröße für die Drosselung angegeben. Dateien unter dieser Größe werden nicht gedrosselt. Auf Werte für alle drei Parameter kann ein optionales Suffixzeichen folgen, z. B. [KMG] (Kilobyte, Megabyte, Gigabyte).

  • Bei Verwendung von /LFSM wird von RoboCopy angefordert, den „Modus mit wenig freiem Speicherplatz“ zu verwenden. In diesem Modus pausiert die Robocopy immer, wenn ein Dateikopiervorgang dazu führen würde, dass der freie Speicherplatz des Zielvolumes einen bestimmten Schwellenwert unterschreitet. Dieser Wert kann explizit mit dem Flag /LFSM:n[KMG] angegeben werden.

  • Wenn /LFSM ohne einen expliziten Schwellenwert festgelegt wird, wird der Schwellenwert auf 10 % der Größe des Zielvolumes festgelegt. Der Modus mit wenig freiem Speicherplatz ist nicht mit /MT, /EFSRAW“, „/B“ und „/ZB“ kompatibel.

Exit-/Rückgabecodes

Wert Beschreibung
0 Es wurden keine Dateien kopiert. Es ist kein Fehler aufgetreten. Es gab keine Dateikonflikte. Die Dateien sind bereits im Zielverzeichnis vorhanden. Daher wurde der Kopiervorgang übersprungen.
1 Alle Dateien wurden erfolgreich kopiert.
2 Es gibt einige zusätzliche Dateien im Zielverzeichnis, die nicht im Quellverzeichnis vorhanden sind. Es wurden keine Dateien kopiert.
3 Einige Dateien wurden kopiert. Zusätzliche Dateien waren vorhanden. Es ist kein Fehler aufgetreten.
5 Einige Dateien wurden kopiert. Es gab einige Dateikonflikte. Es ist kein Fehler aufgetreten.
6 Es sind zusätzliche Dateien und nicht übereinstimmende Dateien vorhanden. Es wurden keine Dateien kopiert und es sind keine Fehler aufgetreten, was bedeutet, dass die Dateien bereits im Zielverzeichnis vorhanden sind.
7 Dateien wurden kopiert, ein Dateikonflikt war vorhanden, und es waren zusätzliche Dateien vorhanden.
8 Mehrere Dateien wurden nicht kopiert.

Hinweis

Jeder Wert gleich oder größer 8 gibt an, dass während des Kopiervorgangs mindestens ein Fehler aufgetreten ist.

Beispiele

Es wird dringend empfohlen, beim Ausführen des Befehls robocopy eine Protokolldatei zu erstellen, die angezeigt werden kann, nachdem der Prozess die Integrität überprüft hat. In den folgenden Beispielen wird jeweils der /LOG:-Parameter verwendet. Verwenden Sie stattdessen den Parameter /LOG+:, um Protokollinformationen an dieselbe Protokolldatei anzufügen.

Um alle Dateien und Unterverzeichnisse, einschließlich leerer Verzeichnisse, aus dem Ordner „Datensätze“ in den Ordner „Backup“ auf Laufwerk „D“ zu kopieren, geben Sie Folgendes ein:

robocopy C:\Users\Admin\Records D:\Backup /E /ZB /LOG:C:\Logs\Backup.log

Um den Inhalt des Ordners „Datensätze“ in den Ordner „Backup“ auf Laufwerk „D“ zu spiegeln und alle Dateien im Ziel, die nicht in der Quelle vorhanden sind, mit zwei Wiederholungen und fünf Sekunden Wartezeit zwischen den einzelnen Wiederholungen zu löschen, geben Sie Folgendes ein:

robocopy C:\Users\Admin\Records D:\Backup /MIR /R:2 /W:5 /LOG:C:\Logs\Backup.log

Geben Sie Folgendes ein, um alle Dateien und Unterverzeichnisse, die nicht leer sind, aus dem Ordner „Datensätze“ in den Ordner „Backup“ auf Laufwerk „D“ zu kopieren und die Dateidaten, Attribute und Zeitstempel mit einem Kopiervorgang mit 16 Multithreads beizubehalten:

robocopy C:\Users\Admin\Records D:\Backup /S /E /COPY:DAT /MT:16 /LOG:C:\Logs\Backup.log

Geben Sie Folgendes ein, um Dateien und Unterverzeichnisse mit Ausnahme leerer Verzeichnisse aus dem Ordner „Datensätze“ in den Ordner „Backup“ auf Laufwerk „D“ zu verschieben und Dateien auszuschließen, die älter als 7 Tage sind:

robocopy C:\Users\Admin\Records D:\Backup /S /MAXAGE:7 /MOV /LOG:C:\Logs\Backup.log

Geben Sie Folgendes ein, um alle Dateien und Unterverzeichnisse, einschließlich leerer Verzeichnisse, aus dem Ordner „Datensätze“ in den Ordner „Backup“ auf Laufwerk „D“ zu kopieren, die geschätzte Zeit für jede Datei anzuzeigen und alle Dateien und Verzeichnisse im Ziel zu löschen, die in der Quelle nicht vorhanden sind:

robocopy C:\Users\Admin\Records D:\Backup /ETA /PURGE /LOG:C:\Logs\Backup.log

Um alle Dateien und Unterverzeichnisse aus dem Ordner „Records“ auf dem Laufwerk „C“ in den Backup-Ordner auf dem Laufwerk „D“ zu kopieren, wobei die E/A-Rate während des Kopiervorgangs auf 1 MB pro Sekunde beschränkt wird, geben Sie Folgendes ein:

robocopy C:\Records D:\Backup /iorate:1m