CMD ROBOCOPY

,

Kommandozeilenbefehle: ÜbersichtVariablenERRORLEVEL
Die wichtigsten Befehle: dirchkdskcdmdrdtreedelattribifxcopyrobocopy

Inhaltsverzeichnis
Verwendung
Beispiel: Systemlaufwerk sichern
Beispiel: Eigene Dateien sichern
Protokollierung
Parameter
Temporäre Dateien entfernen
Heruntergeladene Updates löschen
WinSXS verkleinern
Eigene Dateien verlagern
Wikibooks
Befehle für Stapeldateien
ROBOCOPY Übersicht
Verwandte Themen
Übersicht Software
Sicherung des Systemlaufwerks

Robocopy

Verwendung

RobocopyQuelle Ziel [Datei [Datei]…] [Optionen]
Quelle:Quellverzeichnis (Laufwerk:\Pfad oder \\Server\Freigabe\Pfad)
Ziel:Zielverzeichnis (Laufwerk:\Pfad oder \\Server\Freigabe\Pfad)
Datei:Zu kopierende Dateien (Namen/Platzhalter: Standard ist „*.*„)
Optionen:z. B.   /r:0  bedeutet: bei Lesefehlern keine Wiederholungen
Was ist zu beachten?
  • Nach

Systemlaufwerk sichern

robocopy c: e:\backup /r:0 /s /xd %windir% /xf *.dll *.exe /xa:sh /maxage:365
Dieser Befehl sichert vom Laufwerk c: alle Dateien nach e:\backup, mit folgenden Ausnahmen:
/xd %windir% bewirkt, dass der Windows-Ordner (und alle Unterordner) nicht gesichert werden.
/xf *.dll *.exe schließt Programme aus (.dll und .exe sind die wichtigsten Programmdatei-Typen).
/xa:sh schließt versteckte und schreibgeschützte Dateien aus.
/maxage:365 schließt alle Dateien aus, deren letzte Änderung mehr als 365 Tage zurück liegt.
Jeder dieser optionalen Parameter kann weggelassen oder an Ihre Bedürfnisse angepasst werden.

Eigene Dateien sichern

robocopy %userprofile% e:\backup /s /r:0 /xd appdata anwendungsdaten "Lokale Einstellungen"
Der Parameter /XD schließt komplette Ordner aus dem Backup aus, deshalb werden „AppData“, „Anwendungsdaten“
und „Lokale Einstellungen“ nicht mitgesichert. Nach einem Leerzeichen können Sie weitere
Ordner auflisten, die nicht gesichert werden sollen.

Protokollierung

robocopy %userprofile% e:\backup /s /r:0 /unilog:e:\Protokoll.txt /np /tee

  • /unilog:e:Protokoll.txt schreibt ein Protokoll in die Datei
  • /np Der prozentuale Fortschritt bei großen Dateien wird nicht angezeigt
  • /tee Die Protokollausgabe erfolgt gleichzeitig auf Bildschirm und in die Datei

Weitere wichtige Parameter

CodeBedeutung
/SDer Kopierbefehl betrifft auch alle Unterordner (Subdirectories).
/PURGEDateien, die im Original gelöscht worden sind, werden auch aus der Kopie gelöscht.
/FPIm Protokoll werden die kopierten Dateien einschließlich Ordnernamen aufgelistet.
/maxage:20110501Dateien vor dem 01.05.2011 werden ignoriert.
/maxage:30Dateien älter als 30 Tage werden ignoriert.
/XA:RSHDateien mit den Attributen „read only“, „system“ und „hidden“ (versteckt) werden ignoriert.
/XDDie dahinter aufgezählten Ordner werden beim Kopieren ignoriert (dort sind erfahrungsgemäß keine Benutzerdateien).
/XFAlle dahinter aufgezählten Dateiarten werden ignoriert.
/LEV:nKopiert nur die obersten n Ebenen der Quellverzeichnisstruktur.
/w:1 /r:1 Wenn sich eine Datei nicht lesen lässt, erfolgt nach einer Sekunde (w:1) eine einzige (r:1) Wiederholung.

Anmerkung zu /LEV:n: Nicht selten finde ich auf defekten Windows-Installationen tief verschachtelte Strukturen, die nicht kopiert werden können, z. B.
\Documents and Settings\All Users\Anwendungsdaten\Anwendungsdaten\Anwendungsdaten\Anwendungsdaten\Anwendungsdaten\Anwendungsdaten\Anwendungsdaten\Anwendungsdaten\Anwendungsdaten\ usw.
Beim Versuch, die Daten von einer 256 GB SSD auf eine 1 TB SSD zu retten, bekam ich nach vier Tagen und 34 Verschachtelungsebenen die Meldung „Es steht nicht genug Speicherplatz auf dem Datenträger zur Verfügung“. Ich empfehle lev:12 und außerdem /xd Anwendungsdaten "Application Data".
Anmerkung zur Anmerkung: Warum dauerte das Kopieren vier Tage? Weil Windows Kopien von allen benutzen Inhaltsverzeichnissen und Belegungstabellen im RAM speichert. Bei 34 Verschachtelungsebenen braucht es eine Menge Speicherplatz, um eine Datei zu lesen. Und wenn die Datei anschließend auf den Zieldatenträger geschrieben werden soll, muss Windows auch noch die vielen Ebenen der Zielverzeichnisstruktur im RAM aufbewahren. Irgendwann wird der RAM knapp und Windows muss immer wieder Teile vom RAM temporär in die Swap-Datei auslagern. Für jede einzelne Datei aufs neue.
Anmerkung zu /XD: Beispiele für Ordner, die nicht gesichert werden brauchen, sind: eventuelle Recovery-Dateien, der Windowsordner und der bzw. die Programm-Ordner, der Papierkorb (je nach Windows-Version hat der Papierkorb verschiedene Namen), Installationsdateien und Systemdateien. Sie müssen vermutlich die englischen Ordnerbezeichnungen verwenden.
Anmerkung zu /XF: Beispiele für Dateien, die nicht gesichert werden brauchen, sind:

  • *.tib und *.img sind Image-Dateien.
  • *.msi (Microsoft Installer) sind Installationsdateien.
  • *.exe, *.dll, *.com und *.ini sind Programmdateien. Diese zu sichern ist unsinnig, denn im Katastrophenfall müssen ohnehin alle Programme neu installiert werden.
  • Obwohl die Datei ntuser.* die persönlichen Einstellungen (z. B. Anmeldepasswort) enthält, ist deren Sicherung sinnlos, denn sie läßt sich nicht zurückkopieren.

Der von robocopy erstellte Ordner ist eventuell unsichtbar. In diesem Fall kann man mit dem Befehl attrib -h -s Zielordner\*.* /s /d den Ordner sichtbar machen.
Anmerkung zum Vorgehen: Wenn Sie den Robocopy-Befehl gestartet haben und Sie sehen, dass Unnötiges kopiert wird, zögern Sie nicht, den Kopiervorgang mit Strg-C abzubrechen. Drücken Sie die Funktionstaste F3 und ergänzen Sie die Liste hinter /XD und /XF um weitere Namen. Starten Sie den Robocopy-Befehl neu. Weil Robocopy bereits kopierte Dateien erkennt und nicht erneut kopiert, verlieren Sie fast keine Zeit.

Errorlevel-Code

Der Befehl robocopy gibt den folgenden ERRORLEVEL zurück:

ERRORLEVELBedeutung
0Es wurde nichts kopiert, Quelle und Ziel sind komplett identisch.
1Eine oder mehrere Dateien wurden erfolgreich kopiert (es gab neue Dateien).
2Einige Extra-Dateien oder -Ordner wurden entfernt. Keine Dateien wurden kopiert.
4Einige abweichende Dateien oder Ordner wurden gefunden, siehe Logbuch. Aufräumen könnte nötig sein.
8Einige Dateien oder Ordner konnten nicht kopiert werden (Fehler beim Kopieren oder Wiederholungs-Limit erreicht). Beachte das Logbuch.
16Ernster Fehler. Robocopy konnte keine Dateien kopieren. Vielleicht Berechtigungsfehler?

Anmerkung 1: „Extra-Dateien“ sind Dateien, die in der Quelle bereits gelöscht sind, aber im Ziel noch vorhanden sind und die deshalb beim Synchronisieren im Ziel gelöscht werden.

Anmerkung 2: Die Bits des Fehlercode können kombiniert werden: 3 = 2+1, 5 = 4+1, 6 = 4+2, 7 = 4+2+1
Beispiel: 3 (2+1): Einige Dateien wurden erfolgreich kopiert, Extra-Dateien wurden entfernt. Fehler sind nicht aufgetreten.

Jeder Errorlevel von 0 bis 7 bedeutet einen Erfolg des Kopiervorgangs.
Jeder Errorlevel von 8 oder größer bedeutet, dass einiges kopiert wurde, aber etwas ist dabei schief gegangen.
Ein Errorlevel von 16 bedeutet vollen Misserfolg: nichts wurde kopiert.

Eine (unvollständige) Auswertung ist folgendermaßen möglich:

robocopy %1 %2 /s ...
if errorlevel 8 echo Kopieren fehlerhaft beendet & goto Schluss
echo Kopieren erfolgreich

Eine vollständige Auswertung des Errorlevel ist folgendermaßen möglich:

if %ERRORLEVEL% EQU 16 echo ***FATAL ERROR*** & goto end
if %ERRORLEVEL% EQU 15 echo OKCOPY + FAIL + MISMATCHES + XTRA & goto end
if %ERRORLEVEL% EQU 14 echo FAIL + MISMATCHES + XTRA & goto end
if %ERRORLEVEL% EQU 13 echo OKCOPY + FAIL + MISMATCHES & goto end
if %ERRORLEVEL% EQU 12 echo FAIL + MISMATCHES& goto end
if %ERRORLEVEL% EQU 11 echo OKCOPY + FAIL + XTRA & goto end
if %ERRORLEVEL% EQU 10 echo FAIL + XTRA & goto end
if %ERRORLEVEL% EQU 9 echo OKCOPY + FAIL & goto end
if %ERRORLEVEL% EQU 8 echo FAIL & goto end
if %ERRORLEVEL% EQU 7 echo OKCOPY + MISMATCHES + XTRA & goto end
if %ERRORLEVEL% EQU 6 echo MISMATCHES + XTRA & goto end
if %ERRORLEVEL% EQU 5 echo OKCOPY + MISMATCHES & goto end
if %ERRORLEVEL% EQU 4 echo MISMATCHES & goto end
if %ERRORLEVEL% EQU 3 echo OKCOPY + XTRA & goto end
if %ERRORLEVEL% EQU 2 echo XTRA & goto end
if %ERRORLEVEL% EQU 1 echo OKCOPY & goto end
if %ERRORLEVEL% EQU 0 echo No Change & goto end
:end

 


 

Skills

Posted on

5. März 2025

Submit a Comment

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.

Skills

Posted on

5. März 2025

Cookie Consent Banner von Real Cookie Banner