Robocopy
Robocopy
[Bearbeiten | Quelltext bearbeiten]Robocopy (Robust File Copy) ist ein Kommandozeilen-Tool von Microsoft zum Kopieren und Spiegeln von Dateien und Verzeichnissen. Es ist robuster als copy oder xcopy, da es Netzwerkunterbrechungen abfangen kann und Kopiervorgänge fortsetzt.
Syntax
[Bearbeiten | Quelltext bearbeiten]ROBOCOPY Quelle Ziel [Datei[ ...]] [Optionen]
Wichtige Parameter
[Bearbeiten | Quelltext bearbeiten]| Parameter | Beschreibung |
|---|---|
/S |
Kopiert Unterverzeichnisse, aber keine leeren Verzeichnisse |
/E |
Kopiert Unterverzeichnisse, inkl. leerer Verzeichnisse |
/MIR |
Spiegelt einen kompletten Verzeichnisbaum (entspricht /E + /PURGE) – löscht im Ziel Dateien, die in der Quelle nicht mehr existieren!
|
/MOV |
Verschiebt Dateien (löscht sie nach dem Kopieren in der Quelle) |
/MOVE |
Verschiebt Dateien und Verzeichnisse |
/PURGE |
Löscht Zieldateien/-verzeichnisse, die in der Quelle nicht mehr vorhanden sind |
/COPY:copyflag[s] |
Legt fest, welche Dateiattribute kopiert werden (D=Daten, A=Attribute, T=Zeitstempel, S=Security/NTFS-ACL, O=Owner, U=Auditing) |
/DCOPY:copyflag[s] |
Legt fest, welche Verzeichnisattribute kopiert werden (Standard ist DA) |
/SEC |
Kopiert Dateien mit Sicherheitsdaten (entspricht /COPY:DATS)
|
/Z |
Kopiert Dateien im Neustart-Modus (fortsetzbar bei Unterbrechung) |
/ZB |
Nutzt Neustart-Modus, wechselt bei Zugriffsverweigerung in Backup-Modus |
/B |
Kopiert im Backup-Modus (umgeht Dateiberechtigungen, benötigt Admin-Rechte) |
/MT[:n] |
Mehrfach-Threading, Standard 8 Threads, max. 128 (z. B. /MT:16)
|
/R:n |
Anzahl der Wiederholungsversuche bei Fehlern (Standard: 1 Million) |
/W:n |
Wartezeit in Sekunden zwischen Wiederholungsversuchen (Standard: 30) |
/XO |
Schließt ältere Dateien aus (kopiert nur neuere) |
/XN |
Schließt neuere Dateien aus |
/XC |
Schließt geänderte Dateien aus |
/XX |
Schließt zusätzliche Dateien und Verzeichnisse aus |
/XF Datei [...] |
Schließt bestimmte Dateien aus (Wildcards möglich) |
/XD Verz [...] |
Schließt bestimmte Verzeichnisse aus |
/MAX:n |
Maximale Dateigröße (in Byte) |
/MIN:n |
Minimale Dateigröße (in Byte) |
/MAXAGE:n |
Maximales Dateialter (Tage oder Datum JJJJMMTT) |
/MINAGE:n |
Minimales Dateialter |
/LOG:Datei |
Schreibt Ausgabe in Logdatei (überschreibt bestehende Datei) |
/LOG+:Datei |
Hängt Ausgabe an bestehende Logdatei an |
/TEE |
Zeigt Ausgabe zusätzlich in der Konsole an (bei Verwendung von /LOG) |
/NP |
Kein Fortschrittsbalken (% kopiert) – reduziert Logdatei-Größe deutlich |
/NFL |
Listet keine Dateinamen im Log |
/NDL |
Listet keine Verzeichnisnamen im Log |
/L |
"List only" – Simulation, es wird nichts kopiert/gelöscht (Testlauf!) |
/V |
Ausführliche Ausgabe (zeigt auch übersprungene Dateien) |
/FFT |
Nutzt geringere Zeitstempel-Genauigkeit (für FAT-Dateisysteme) |
/DST |
Berücksichtigt Sommerzeit-Unterschiede bei Zeitstempeln |
/IPG:n |
Inter-Packet-Gap in ms (drosselt Bandbreitennutzung im Netzwerk) |
/A-:RASHCNET |
Entfernt angegebene Attribute von kopierten Dateien |
/A+:RASHCNET |
Setzt angegebene Attribute bei kopierten Dateien |
Beispiele
[Bearbeiten | Quelltext bearbeiten]Einfaches Kopieren eines Ordners (ohne Unterordner):
robocopy C:\Quelle D:\Ziel
Kompletten Ordnerbaum inkl. leerer Verzeichnisse kopieren:
robocopy C:\Quelle D:\Ziel /E
Ordner spiegeln (1:1-Abgleich, Ziel wird identisch zur Quelle):
robocopy C:\Quelle D:\Ziel /MIR
- Achtung:
/MIRlöscht Dateien im Ziel, die in der Quelle nicht mehr vorhanden sind. Vorher unbedingt mit/Ltesten!
Testlauf ohne tatsächliches Kopieren (Simulation):
robocopy C:\Quelle D:\Ziel /MIR /L
Backup mit Logdatei und mehreren Threads:
robocopy C:\Quelle D:\Ziel /E /Z /MT:16 /LOG:C:\Logs\backup.log /NP /TEE
Bestimmte Dateitypen und Ordner ausschließen:
robocopy C:\Quelle D:\Ziel /E /XF *.tmp *.log /XD Temp Cache
Dateien verschieben statt kopieren (inkl. Unterordner):
robocopy C:\Quelle D:\Ziel /MOVE /E
Kopie mit NTFS-Berechtigungen und Security-Informationen:
robocopy C:\Quelle D:\Ziel /E /SEC
Nur neuere Dateien der letzten 7 Tage kopieren:
robocopy C:\Quelle D:\Ziel /E /MAXAGE:7
Exit-Codes
[Bearbeiten | Quelltext bearbeiten]Robocopy gibt nach Abschluss einen Rückgabewert (Bitmaske) zurück:
| Code | Bedeutung |
|---|---|
| 0 | Keine Dateien kopiert, keine Fehler |
| 1 | Dateien erfolgreich kopiert |
| 2 | Zusätzliche Dateien/Verzeichnisse im Ziel gefunden |
| 4 | Nicht übereinstimmende Dateien/Verzeichnisse gefunden |
| 8 | Einige Dateien/Verzeichnisse konnten nicht kopiert werden (Fehler) |
| 16 | Schwerwiegender Fehler, Robocopy hat abgebrochen |
- Werte können addiert auftreten (z. B. 3 = 1 + 2). Werte ab 8 deuten auf Probleme hin.
Hinweise
[Bearbeiten | Quelltext bearbeiten]- Immer zuerst mit
/L(Testmodus) prüfen, besonders in Kombination mit/MIRoder/PURGE. - Für Backups über Netzwerkpfade empfiehlt sich
/Z(Neustart-Modus) und ggf./IPGzur Bandbreitendrosselung. - Standardmäßig bricht Robocopy bei Fehlern sehr lange nicht ab (1 Mio. Wiederholungen à 30 Sek.) – für Skripte
/Rund/Wanpassen (z. B./R:3 /W:5).