Robocopy, kurz für Robust File Copy, ist ein leistungsstarker Kopierbefehl und unterstützt mehr als 80 Robocopy Parameter. Dieses leistungsstarkes Befehlszeilentool von Microsoft wurde für das Kopieren, Synchronisieren und Migrieren von Dateien und Ordnern entwickelt. Es ist besonders nützlich für IT-Administratoren und Power-User, die komplexe Kopieraufgaben mit minimalem Benutzeraufwand und maximaler Effizienz erledigen möchten. In dieser ausführlichen Anleitung zu allen Robocopy Parametern werden wir alle wichtigen Parameter erklären und anhand von praktischen Beispielen erklären.

1. Einführung in Robocopy

Robocopy ist ein Windows-Befehlszeilentool, das für folgende Zwecke verwendet wird:

  • Große Datenmengen kopieren: Es unterstützt Multithreading und kann abgebrochene Kopierprozesse wieder aufnehmen. Robocopy eignet sich hervorragend für dateibasierte Datensicherungen.
  • Synchronisieren: Verzeichnisse zwischen Quell- und Zielordnern identisch halten.
  • Backup-Szenarien: Mit erweiterten Filteroptionen lässt sich präzise steuern, welche Dateien gesichert werden sollen.

Grundlegender Befehl

robocopy <Quelle> <Ziel> [Parameter]

2. Übersicht aller Robocopy-Parameter

Die Parameter lassen sich in folgende Kategorien unterteilen:

KategorieBeschreibung
Allgemeine ParameterSteuerung des Kopiervorgangs
FilterparameterAuswahl von Dateien und Verzeichnissen
FehlertoleranzWiederholungsversuche und Fehlerhandling
ProtokollierungAusgabe- und Log-Optionen
NetzwerkoptionenOptimierung für Netzwerkumgebungen
Zeit- und DatumsfilterEinschränkungen nach Alter der Dateien

Um eine Übersicht über alle Robocopy Parameter zu erhalten, können Sie den Befehl „robocopy /?“ verwenden, wie auf der nachfolgenden Abbildung zu erkennen ist.

Robocopy Parameter Hilfe

3. Allgemeine Parameter

ParameterBeschreibungBeispiel
/SKopiert Unterverzeichnisse, ohne leererobocopy C:\Quelle D:\Ziel /S
/EKopiert alle Unterverzeichnisse, auch leererobocopy C:\Quelle D:\Ziel /E
/LEV:nKopiert nur die ersten n Ebenen eines Verzeichnissesrobocopy C:\Quelle D:\Ziel /LEV:2
/ZAktiviert den „Restartable Mode“ (wiederaufnehmbar)robocopy C:\Quelle D:\Ziel /Z
/BFührt den Kopiervorgang im Backup-Modus ausrobocopy C:\Quelle D:\Ziel /B
/COPY:DATBestimmt, welche Attribute kopiert werden (z. B. Daten, Attribute, Zeitstempel)robocopy C:\Quelle D:\Ziel /COPY:DAT
/FFTErneutes Kopieren von bereits vorhandenen Dateien verhindernrobocopy C:\Quelle D:\Ziel /FFT

Sollte es beim Einsatz des Parameters „/COPY“ zu der Fehlermeldung „Fehler: Sie verfügen nicht über Benutzerrechte zum Verwalten von Überwachungsprotokollen.“ kommen, so finden Sie wertvolle Informationen dazu in unserer Anleitung „Robocopy – Fehlende Rechte zum Verwalten von Überwachungsprotokollen„.

Praxisbeispiel: Backup-Modus

robocopy C:\Projekte D:\Backup /E /B

Dieses Kommando kopiert alle Dateien und Unterverzeichnisse (einschließlich leerer Ordner) im Backup-Modus.

4. Filterparameter

Dateifilter

Per Dateifilter können Sie Robocopy anweisen, bestimmte Dateien oder Verzeichnisse vom Kopieren auszunehmen.

ParameterBeschreibungBeispiel
/XF [Dateien]Dateien vom Kopieren ausschließenrobocopy C:\Quelle D:\Ziel /XF *.tmp
/XD [Ordner]Verzeichnisse vom Kopieren ausschließenrobocopy C:\Quelle D:\Ziel /XD Temp

Zeit- und Größenfilter

ParameterBeschreibungBeispiel
/MAXAGE:nKopiert nur Dateien, die maximal n Tage alt sindrobocopy C:\Quelle D:\Ziel /MAXAGE:30
/MINAGE:nKopiert nur Dateien, die mindestens n Tage alt sindrobocopy C:\Quelle D:\Ziel /MINAGE:10
/MAXLAD:nBeschränkt Dateien nach dem letzten Zugriffsdatumrobocopy C:\Quelle D:\Ziel /MAXLAD:365
/MINLAD:nWie /MAXLAD, jedoch für minimalen Zugriffrobocopy C:\Quelle D:\Ziel /MINLAD:90

5. Fehlertoleranz

Robocopy ist dafür bekannt, selbst bei Fehlern den Kopiervorgang fortzusetzen.

ParameterBeschreibungBeispiel
/R:nAnzahl der Wiederholungsversucherobocopy C:\Quelle D:\Ziel /R:3
/W:nWartezeit (Sekunden) zwischen Versuchenrobocopy C:\Quelle D:\Ziel /W:10
/TBDWartet, bis Netzwerkressourcen verfügbar sindrobocopy C:\Quelle D:\Ziel /TBD

Beispiel für Wiederholungsversuche:

robocopy C:\Quelle D:\Ziel /R:5 /W:5

Dieser Befehl versucht maximal 5 Mal, eine Datei zu kopieren, mit jeweils 5 Sekunden Wartezeit.

6. Protokollierungsoptionen

ParameterBeschreibungBeispiel
/LOG:[Datei]Speichert die Ausgabe in eine Log-Dateirobocopy C:\Quelle D:\Ziel /LOG:C:\Logfile.txt
/NPUnterdrückt die Anzeige des Fortschrittsrobocopy C:\Quelle D:\Ziel /NP
/TEEZeigt die Ausgabe in der Konsole und im Logrobocopy C:\Quelle D:\Ziel /TEE

7. Netzwerk- und Multithread-Optionen

ParameterBeschreibungBeispiel
/IPG:nPausen zwischen Paketen (für Bandbreitenkontrolle)robocopy C:\Quelle D:\Ziel /IPG:10
/MT[:n]Aktiviert Multithreading (Standard: 8 Threads) und beschleunigt das Kopieren. robocopy C:\Quelle D:\Ziel /MT:16

Beispiel für Multithreading:

robocopy C:\Quelle D:\Ziel /E /MT:32

Dieser Befehl kopiert alle Dateien und Ordner mit 32 parallelen Threads, wodurch die Geschwindigkeit erhöht wird.

8. Häufige Anwendungsfälle

Synchronisierung zweier Verzeichnisse

robocopy C:\Quelle D:\Ziel /MIR

Verwendet den /MIR-Parameter, um Quelle und Ziel zu spiegeln. Dabei werden Dateien im Ziel gelöscht, die in der Quelle nicht mehr existieren. Mit dem „/MIR“ Parameter zusammen mit „/NOCOPY“ können Sie die Ordnerstruktur kopieren ohne die Datei mit zu kopieren.

Backup mit Protokollierung

robocopy C:\Daten D:\Backup /E /Z /LOG:C:\BackupLog.txt

Kopiert alle Dateien (inkl. leerer Ordner) im wiederaufnehmbaren Modus und erstellt eine Protokolldatei.

Was ist besser? Robocopy oder XCOPY?

XCOPY und Robocopy sind beides Befehlszeilentools, die zum Kopieren von Dateien und Verzeichnissen dienen, jedoch unterscheiden sie sich in ihren Möglichkeiten und ihrer Flexibilität erheblich.

XCOPY ist ein älteres Tool, das ursprünglich für einfache Kopieraufgaben entwickelt wurde. XCOPY verfügt ebenfalls über zahlreiche Parameter. Es ermöglicht das Kopieren von Dateien, Ordnern und Unterverzeichnissen und bietet grundlegende Optionen, die für Standardaufgaben ausreichen. Es ist ideal für kleinere, unkomplizierte Projekte, bei denen keine komplexen Anforderungen wie Wiederaufnahme bei Unterbrechungen oder erweiterte Protokollierung erforderlich sind. XCOPY ist jedoch weniger robust, insbesondere wenn es um den Umgang mit Fehlern oder die Verarbeitung großer Datenmengen geht.

Robocopy hingegen ist ein moderneres und deutlich leistungsfähigeres Werkzeug. Es wurde speziell für zuverlässige und robuste Kopieraufgaben entwickelt, insbesondere für Szenarien, bei denen große Datenmengen, komplexe Verzeichnisstrukturen oder Netzwerkkopien involviert sind. Robocopy zeichnet sich durch seine Fehlertoleranz, die Möglichkeit zur Wiederaufnahme unterbrochener Kopiervorgänge und seine Fähigkeit aus, Verzeichnisse zu synchronisieren. Außerdem bietet es eine Vielzahl an erweiterten Optionen, die es zu einem vielseitigen Werkzeug für IT-Administratoren und Power-User machen.

Mit Robocopy können Sie auch Dateien und Ordner verschieben, was mit Xcopy nicht möglich ist. Außerdem unterstützt Robocopy das Kopieren von Dateien, die im Zielverzeichnis nicht vorhanden sind.

Zusammenfassend lässt sich sagen, dass XCOPY für einfache Kopieranforderungen geeignet ist, während Robocopy für anspruchsvollere und zuverlässigere Aufgaben entwickelt wurde. In modernen Anwendungsfällen ist Robocopy daher meist die bessere Wahl.

Bekannte Robocopy-Fehlermeldungen und Errorcodes

Robocopy-Fehlermeldungen treten auf, wenn bestimmte Bedingungen den Kopiervorgang beeinträchtigen. Häufige Ursachen sind Berechtigungsprobleme, Netzwerkunterbrechungen, unzureichender Speicherplatz oder Syntaxfehler in der Befehlszeile. Da Robocopy oft für komplexe Kopiervorgänge mit großen Datenmengen eingesetzt wird, sind externe Faktoren wie Dateisperren durch andere Prozesse oder Verbindungsprobleme im Netzwerk ebenfalls gängige Fehlerquellen. Ein weiterer häufiger Grund ist die fehlende Kompatibilität von Dateisystemen, z. B. wenn Quell- und Zielverzeichnis auf unterschiedlichen Systemen (NTFS vs. FAT32) basieren. Um solche Fehler zu vermeiden, sollten vor dem Einsatz Berechtigungen geprüft, die Netzwerkkonnektivität sichergestellt und die Syntax des Befehls überprüft werden.

Die folgende Tabelle listet bekannte Fehlermeldungen, ihre möglichen Ursachen und die entsprechenden Errorcodes:

FehlermeldungMögliche UrsacheErrorcode
ERROR 5 (0x00000005) Zugriff verweigertDer Benutzer hat keine ausreichenden Berechtigungen auf die Datei/Ordner.5
ERROR 32 (0x00000020) Datei wird verwendetDie Datei wird von einem anderen Prozess verwendet und kann nicht kopiert werden.32
ERROR 53 (0x00000035) Netzwerkpfad nicht gefundenDer angegebene Netzwerkpfad ist ungültig oder die Verbindung ist unterbrochen.53
ERROR 64 (0x00000040) NetzwerkfehlerEin allgemeiner Netzwerkfehler ist aufgetreten (z. B. Verbindungsverlust). Der Robocopy Fehlercode 0x00000040 tritt auch beim Kopieren von Dateien und Ordnern mit Umlauten auf.64
ERROR 112 (0x00000070) Nicht genügend SpeicherplatzDas Ziel hat nicht genug freien Speicherplatz.112
ERROR 2 (0x00000002) Datei nicht gefundenDie angegebene Datei oder das Verzeichnis existiert nicht im Quellpfad.2
ERROR 3 (0x00000003) Pfad nicht gefundenDer Quell- oder Zielpfad ist ungültig oder nicht verfügbar.3
ERROR 123 (0x0000007B) Ungültige SyntaxDer Pfad oder Dateiname enthält ungültige Zeichen.123
ERROR 87 (0x00000057) Falscher ParameterEin ungültiger Parameter wurde in der Befehlszeile verwendet.87
ERROR 1392 (0x00000570)Die Datei oder das Verzeichnis ist beschädigt und nicht lesbar.570

Robocopy Kopierjobs mit Errorlevel abfragen

Robocopy unterstützt den Errorlevel, ein Rückgabecode, der den Status des ausgeführten Kopiervorgangs angibt. Dieser Code ist besonders nützlich in Skripten, da er es ermöglicht, den Erfolg oder das Scheitern eines Vorgangs zu überprüfen und entsprechende Aktionen auszuführen.

Was ist der Errorlevel in Robocopy?

Der Errorlevel ist ein numerischer Rückgabewert, den Robocopy nach Abschluss eines Kopiervorgangs liefert. Er beschreibt den Status des Prozesses und hilft dabei, zwischen verschiedenen Ergebnissen zu unterscheiden, z. B. ob Dateien erfolgreich kopiert wurden, ob Fehler aufgetreten sind oder ob keine Aktion erforderlich war.

Errorlevel-Codes und ihre Bedeutungen

Robocopy verwendet folgende Errorlevel-Codes:

ErrorlevelBeschreibung
0Keine Dateien wurden kopiert, keine Fehler aufgetreten. Alles ist aktuell (Quell- und Zielverzeichnis sind identisch).
1Dateien wurden erfolgreich kopiert. Es wurden keine zusätzlichen Fehler festgestellt.
2Zusätzliche Dateien oder Verzeichnisse im Ziel wurden gelöscht (in Verbindung mit /MIR oder /PURGE).
3Dateien wurden kopiert und zusätzliche Dateien/Verzeichnisse im Ziel wurden gelöscht.
4Dateien wurden nicht kopiert, da einige Fehler aufgetreten sind. Der Kopiervorgang war teilweise erfolgreich.
5Einige Dateien wurden erfolgreich kopiert, während zusätzliche Dateien/Verzeichnisse gelöscht wurden.
6Es sind schwere Fehler aufgetreten. Der Kopiervorgang wurde nicht abgeschlossen.

Errorlevel in Batch-Skripten verwenden

In einem Batch-Skript können Sie den Errorlevel wie folgt abfragen:

Beispiel: Erfolg oder Fehler prüfen

robocopy C:\Quelle D:\Ziel /E
IF %ERRORLEVEL% EQU 0 (
    echo Keine Aktion erforderlich. Alles ist aktuell.
) ELSE IF %ERRORLEVEL% LSS 4 (
    echo Dateien wurden erfolgreich kopiert.
) ELSE (
    echo Fehler beim Kopieren aufgetreten!
)

Beispiel: Fehlerhandling automatisieren

robocopy C:\Quelle D:\Ziel /E
IF %ERRORLEVEL% GEQ 4 (
    echo Schwerer Fehler aufgetreten! >> errorlog.txt
    EXIT /B 1
)

Bekannte Robocopy Probleme

Auch wenn Robocopy in der Regel sehr zuverlässig läuft, so gibt es doch Performanceprobleme, wenn Sie den Robocopy Job über die Windows Aufgabenplanung laufen lassen. In diesem Fall ist die Priorisierung des Kopierjobs nicht ausreichend hoch, sodass der Job wesentlich langsamer läuft, als wenn Sie ihn direkt ausführen. Eine Anleitung, wie Sie dieses Robocopy Problem umgehen können, finden Sie in unserer Anleitung „Robocopy Task laufen über die Aufgabenplanung (Taskplaner) langsamer als normal„.

Robocopy GUI

Für Robocopy gibt es eine grafische Benutzeroberfläche (GUI). Diese wurde ursprünglich von Microsoft als Robocopy GUI bereitgestellt und ist eine zusätzliche Option, die Benutzern hilft, Robocopy-Befehle einfacher zu konfigurieren, ohne direkt die Befehlszeile nutzen zu müssen.

Details zur Robocopy GUI

  1. Offizielle Robocopy GUI von Microsoft:
    • Microsoft hat eine grafische Oberfläche für Robocopy im Windows Server 2003 Resource Kit Tools bereitgestellt.
    • Diese Anwendung wurde entwickelt, um die Erstellung von Robocopy-Befehlen zu vereinfachen und eine komfortable Bedienung für Benutzer zu ermöglichen, die sich nicht mit der Kommandozeile auskennen.
    • Das Tool ist jedoch veraltet und nicht mehr offiziell unterstützt, funktioniert aber auf älteren Windows-Versionen.
  2. Funktionen der Robocopy GUI:
    • Auswahl von Quell- und Zielverzeichnissen über eine grafische Oberfläche.
    • Einfache Konfiguration der wichtigsten Robocopy-Parameter.
    • Möglichkeit, komplexe Befehle zusammenzustellen und zu speichern.
    • Protokollierung und Anzeige des Fortschritts in Echtzeit.
  3. Alternative GUI-Tools: Neben der offiziellen Robocopy GUI gibt es auch Drittanbieter-Tools, die eine grafische Oberfläche für Robocopy bieten. Diese Tools bieten oft zusätzliche Funktionen wie:
    • Eine benutzerfreundlichere Oberfläche.Unterstützung für moderne Windows-Versionen.Erweiterte Optionen für die Protokollierung und das Scheduling von Kopieraufgaben.
    Beispiele für solche Drittanbieter-Tools:
    • Easy RoboCopy: Ein benutzerfreundliches Tool, das speziell für die Konfiguration von Robocopy-Skripten entwickelt wurde.
    • RichCopy: Ein von Microsoft entwickeltes, robusteres Tool, das eine ähnliche Funktionalität wie Robocopy bietet, aber mit einer moderneren GUI.

Wo kann man Robocopy GUI herunterladen?

  • Die ursprüngliche Robocopy GUI ist Teil des Windows Server 2003 Resource Kits. Da sie veraltet ist, muss man sie möglicherweise aus inoffiziellen Quellen beziehen.
  • Alternativ sind Tools wie Easy RoboCopy online verfügbar und bieten ähnliche Funktionalität.

Fazit

Robocopy ist eines der mächtigsten Werkzeuge für die Dateiübertragung und Datensicherung. Mit den hier beschriebenen Parametern können Sie nahezu jede denkbare Kopier- oder Synchronisationsaufgabe umsetzen. Experimentieren Sue mit den verschiedenen Optionen und passen sie an deine spezifischen Bedürfnisse an, um das Maximum aus Robocopy herauszuholen!