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:
|
/dcopy:<copyflags> |
Gibt an, was in Verzeichnisse kopiert werden soll. Die gültigen Werte für diese Option sind:
|
/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:
|
/a-:[RASHCNETO] | Entfernt die angegebenen Attribute aus kopierten Dateien. Die gültigen Werte für diese Option sind:
|
/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:<y|n> |
Aktiviert oder deaktiviert das Beibehalten des Sparse-Zustands von Dateien während der Kopiervorgangs. Wenn keine Option ausgewählt ist, wird standardmäßig Ja (aktiviert) verwendet. |
/noclone | Versucht nicht, das Klonen von Blöcken zu optimieren. |
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 i/o-Größe pro Lese-/Schreibzyklus in n kilobytes, megabytes oder gigabytes. |
/iorate:<n> [kmg] |
Die angeforderte I/o-Rate in n kilobytes megabytes oder gigabytes pro Sekunde. |
/threshold:<n> [kmg] |
Der Schwellenwert für die Dateigröße für die Drosselung in n kilobytes, megabytes oder gigabytes (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:
|
/xa:[RASHCNETO] |
Schließt Dateien aus, für die eines der angegebenen Attribute festgelegt ist. Die gültigen Werte für diese Option sind:
|
/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 Bodengröße in n kilobytes, megabytes oder gigabytes 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