Liste der Windows-eigenen Kommandos
robocopy
BefehlKurzbeschreibung
Syntax
Beispiele
Verzeichnis mit Robocopy synchronisieren
Robocopy Exitcodes
Befehl | robocopy |
Kurzbeschreibung | Robustes Dateikopieren für Windows. Das leistungsstarke Kopierprogramm war zu NT-Zeiten im Windows Ressource Kit verfügbar und ist seit Windows Vista serienmäsig mit an Bord. |
Syntax | Hinweis: Diese Datei finden Sie im System32-Ordner von Windows 7. Kommando zum Anzeigen der Hilfe: Robocopy /? ------------------------------------------------------------------------------- ROBOCOPY :: Robustes Dateikopieren für Windows ------------------------------------------------------------------------------- Gestartet: Tue Jul 06 12:41:01 2010 Syntax :: ROBOCOPY Quelle 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 "*.*") :: :: Kopieroptionen: :: /S :: Kopiert Unterverzeichnisse, jedoch keine leeren Unterverzeichnisse. /E :: Kopiert Unterverzeichnisse, einschließlich leerer Unterverzeichnisse. /LEV:n :: Kopiert nur die obersten Ebenen der Quellverzeichnisstruktur. /Z :: Kopiert Dateien im Neustartmodus. /B :: Kopiert Dateien im Sicherungsmodus. /ZB :: Verwendet den Neustartmodus. Im Fall einer Zugriffsverweigerung wird der Sicherungsmodus verwendet. /EFSRAW :: Kopiert alle verschlüsselten Dateien im EFS RAW-Modus. /COPY:copyflags:: Gibt an, welche Inhalte für Dateien kopiert werden sollen (der Standard ist "/COPY:DAT"). (Kopierflags : D=Daten, A=Attribute, T=Zeitstempel). (S=Sicherheit=NTFS-ACLs, O=Besitzerinformationen, U=Überwachungsinformationen). /DCOPY:T :: Kopiert Verzeichniszeitstempel. /SEC :: Kopiert Dateien mit Sicherheitsinformationen (entspricht "/COPY:DATS"). /COPYALL :: Kopiert alle Dateiinformationen (entspricht "/COPY:DATSOU"). /NOCOPY :: Kopiert keine Dateiinformationen (eignet sich für die Verwendung mit "/PURGE"). /SECFIX :: Korrigiert die Dateisicherheit in allen Dateien, auch in ausgelassenen Dateien. /TIMFIX :: Korrigiert die Uhrzeitangaben für Dateien in allen Dateien, auch in ausgelassenen Dateien. /PURGE :: Löscht Zieldateien/-verzeichnisse, die in der Quelle nicht mehr vorhanden sind. /MIR :: Spiegelt eine Verzeichnisstruktur (Entspricht "/E" mit "/PURGE"). /MOV :: Verschiebt Dateien (löscht Dateien nach dem Kopieren an der Quelle). /MOVE :: Verschiebt Dateien UND Verzeichnisse (löscht sie nach dem Kopieren an der Quelle). /A+:[RASHCNET] :: Fügt die vorhandenen Attribute den kopierten Dateien hinzu. /A-:[RASHCNET] :: Entfernt die vorhandenen Attribute von den kopierten Dateien. /CREATE :: Erstellt eine Verzeichnisstruktur und nur Dateien mit einer Länge von Null. /FAT :: Erstellt Zieldateien nur unter Verwendung von 8.3 FAT-Dateinamen. /256 :: Deaktiviert die Unterstützung für sehr lange Pfade (> 256 Zeichen). /MON:n :: Überwacht die Quelle. Wird erneut ausgeführt, wenn mehr als n Änderungen gefunden werden. /MOT:m :: Überwacht die Quelle. Wird bei einer Änderung erneut ausgeführt in m Minuten. /RH:hhmm-hhmm :: Ausführungsstunden - Steuert, wann neue Kopiervorgänge gestartet werden können. /PF :: Überprüft die Ausführungsstunden pro einzelne Datei (nicht pro Durchgang). /IPG:n :: Abstand zwischen Paketen (ms), um bei langsamen Verbindungen Bandbreite freizugeben. /SL :: Kopiert symbolische Verknüpfungen gegenüber dem Ziel. /MT[:n] :: Multithreadkopien mit n Threads erstellen (Standardwert: 8). n muss zwischen 1 und 128 (jeweils einschließlich) liegen. Die Option ist nicht mit "/IPG" und "/EFSRAW" kompatibel. Die Ausgabe kann mit "/LOG" umgeleitet werden, um eine bessere Leistung zu erzielen. :: :: Dateiauswahloptionen: :: /A :: Kopiert nur Dateien mit dem "Archive"-Attribut. /M :: Kopiert nur Dateien mit dem "Archive"-Attribut und setzt das Attribut zurück. /IA:[RASHCNETO]:: Schließt nur Dateien ein, bei denen eines der Attribute festgelegt ist. /XA:[RASHCNETO]:: Schließt Dateien aus, bei denen eines der Attribute festgelegt ist. /XF Datei[Datei]:: Schließt Dateien aus, die mit den angegebenen Namen/Pfaden/Platzhaltern übereinstimmen. /XD Verz.[Verz.]:: Schließt Verzeichnisse aus, die mit den angegebenen Namen/Pfaden übereinstimmen. /XC :: Schließt geänderte Dateien aus. /XN :: Schließt neuere Dateien aus. /XO :: Schließt ältere Dateien aus. /XX :: Schließt zusätzliche Dateien und Verzeichnisse aus. /XL :: Schließt einsame Dateien und Verzeichnisse aus. /IS :: Schließt identische Dateien ein. /IT :: Schließt optimierte Dateien ein. /MAX:n :: Maximale Dateigröße - schließt Dateien aus, die größer als n Bytes sind. /MIN:n :: Minimale Dateigröße - schließt Dateien aus, die kleiner als n Bytes sind. /MAXAGE:n :: Maximales Dateialter - schließt Dateien aus, die älter als n Tage/Datum sind. /MINAGE:n :: Minimales Dateialter - schließt Dateien aus, die neuer als n Tage/Datum sind. /MAXLAD:n :: Maximales Datum des letztes Zugriffs - schließt Dateien aus, die seit n nicht verwendet wurden. /MINLAD:n :: Minimales Datum des letztes Zugriffs - schließt Dateien aus, die seit n verwendet wurden. (Wenn n < 1900, dann ist n = n Tage, andernfalls ist n = Datum im Format JJJJMMTT). /XJ :: Schließt Abzweigungspunkte aus (werden normalerweise standardmäßig eingeschlossen). /FFT :: Geht von FAT-Uhrzeitangaben für Dateien aus (Granularität von zwei Sekunden). /DST :: Kompensiert Zeitunterschiede von einer Stunden aufgrund der Sommerzeit. /XJD :: Schließt Abzweigungspunkte für Verzeichnisse aus. /XJF :: Schließt Abzweigungspunkte für Dateien aus. :: :: Wiederholungsoptionen: :: /R:n :: Anzahl von Wiederholungsversuchen bei fehlerhaften Kopiervorgängen. Der Standardwert ist 1 Million. /W:n :: Wartezeit zwischen Wiederholungsversuchen. Der Standardwert ist 30 Sekunden. /REG :: Speichert "/R:n" und "/W:n" in der Registrierung als Standardeinstellungen. /TBD :: Wartet darauf, dass Freigabenamen definiert werden (Wiederholungsfehler 67). :: :: Protokollierungsoptionen : :: /L :: Listet nur auf. Es werden keine Kopiervorgänge ausgeführt, Zeitstempel erstellt oder Dateien gelöscht. /X :: Meldet alle zusätzlichen Dateien, nicht nur die ausgewählten Dateien. /V :: Erstellt eine ausführliche Ausgabe mit ausgelassenen Dateien. /TS :: Schließt Zeitstempel von Quelldateien in die Ausgabe ein. /FP :: Schließt den vollständigen Pfadnamen von Dateien in die Ausgabe ein. /BYTES :: Gibt Größen in Bytes aus. /NS :: Keine Größe - Dateigrößen werden nicht protokolliert. /NC :: Keine Klasse - Dateiklassen werden nicht protokolliert. /NFL :: Keine Dateiliste - Dateinamen werden nicht protokolliert. /NDL :: Keine Verzeichnisliste - Verzeichnisnamen werden nicht protokolliert. /NP :: Kein Status - der Prozentsatz kopierter Elemente wird nicht angezeigt. /ETA :: Zeigt die ungefähre Empfangszeit der kopierten Dateien an. /LOG:Datei :: Gibt den Status der Protokolldatei aus (überschreibt das vorhandene Protokoll). /LOG+:Datei :: Gibt den Status der Protokolldatei aus (wird an das vorhandene Protokoll angefügt). /UNILOG:Datei :: Gibt den Status der Protokolldatei als UNICODE aus (überschreibt das vorhandene Protokoll). /UNILOG+:Datei :: Gibt den Status der Protokolldatei als UNICODE aus (wird an das vorhandene Protokoll angefügt). /TEE :: Gibt Daten in das Konsolenfenster und die Protokolldatei aus. /NJH :: Kein Auftragsheader. /NJS :: Keine Auftragszusammenfassung. /UNICODE :: Gibt den Status als UNICODE aus. :: :: Auftragsoptionen: :: /JOB:Auftragsname :: Übernimmt Parameter aus der angegebenen Auftragsdatei. /SAVE:Auftragsname :: Speichert Parameter in der angegebenen Auftragsdatei. /QUIT :: Beendet den Vorgang nach der Verarbeitung der Befehlszeile (zum Anzeigen von Parametern). /NOSD :: Es ist kein Quellverzeichnis angegeben. /NODD :: Es ist kein Zielverzeichnis angegeben. /IF :: Schließt die folgenden Dateien ein. |
Beispiele | Verzeichnis mit Robocopy synchronisierenMit Robocopy kann man Daten seine archivieren als auch spiegeln.Zum Spiegeln benutzt man die Option /MIR. Zusätzlich sollte man an die Parameter /R: und /W: denken - falls mal etwas nicht kopiert werden kann wird per Default 1 Million mal erneut versucht, dies zu kopieren - bei jeweils 30 Sekunden Wartezeit zw. den Versuchen. Nachfolgend ein Beispiel zum Synchronisieren. Ich verwende privat etliche Anwendungen der USB-Suite Liberkey. Das nachfolgende Skript synchronisiert den Liberkey-"Installations"-Ordner auf Laufwerk D: mit dem USB-Stick auf Laufwerk F:. @echo off set sourceDir=d:\LiberKey set targetDir=f:\LiberKey echo. echo ===== kopiere Liberkey auf den USB Stick ===== echo. dir %sourceDir% >nul || ( echo FEHLER: Quellverzeichnis nicht gefunden. && echo %sourceDir% && goto end) dir %targetDir% >nul || ( echo FEHLER: Zielverzeichnis nicht gefunden - Stick nicht angesteckt?? && echo %targetDir% && goto end) robocopy "%sourceDir%" "%targetDir%" /R:3 /W:5 /XO /MIR :end echo. echo -- Ende - Taste druecken. pause>nul Robocopy ExitcodesEin wichtiger Tipp beim Programmieren mit Robocopy:Zur Auswertung des Erfolgs der Ausführung reicht es nicht, auf 0 oder ungleich 0 zu prüfen. In Kurzform: nur Returncodes grösser 7 sind Fehler in den Aktionen. Details: support.microsoft.com |