Robocopy ist ein mächtiges Kopierwerkzeug, welches schon in Windows integriert ist. Es arbeitet auf Kommandozeilenebene. Somit ist es auch möglich, Batch-Dateien anzulegen, um Kopiervorgänge per Klick oder geplanter Aufgabe auszuführen.
Zum Sichern von Dateien verwende ich z. B. folgenden Befehl:
robocopy „C:\Mein Ursprungspfad“ „D:\Mein Sicherungspfad“ /MIR /ZB /XD dir $RECYCLE.BIN
In diesem Fall wird der Ursprungspfad in den Sicherungspfad gespiegelt. Es werden im Sicherungspfad also auch Dateien gelöscht, die ich im Ursprungspfad gelöscht habe. Somit haben beide Ordner immer den identischen Inhalt. Jedoch wird keine Versionierung vorgenommen. Dateien, die ich im Ursprungspfad lösche, sind auch im Sicherungspfad nicht mehr vorhanden. Der Papierkorb wird vom Kopiervorgang ausgeschlossen, dass dies ein Systemordner ist nur deshalb nicht kopiert werden kann.
Die Syntax
Die Syntax von Robocopy sieht wie folgt aus:
robocopy C:\QUELLE D:\ZIEL /parameter
Hat der Pfad Leerzeichen, muss dieser in Anführungszeichen gesetzt werden.
robocopy „C:\Ich bin der Anfang“ „D:\Ich bin das Ende“ /parameter
{loadmoduleid 105}
{loadmoduleid 104}
Nachfolgend folgt eine Auflistung der Robocopy-Befehle, um eigene Kopierroutinen erstellen zu können:
Robocopy-Befehlsparameter
/S
Kopiert Unterverzeichnisse (bis auf leere Verzeichnisse).
/E
Kopiert Unterverzeichnisse (inklusive leerer Verzeichnisse).
/LEV:n
Kopiert nur bis zu einer Verzeichnistiefe von n. Nachfolgende Verzeichnisse werden nicht kopiert.
/Z
Wenn der Kopiervorgang unterbrochen wird, kann mit dieser Option an der Stelle weitergemacht werden, an der abgebrochen wurde. Evtl. können aber nicht alle Dateien kopiert werden.
/B
Dateien werden im Backup-Modus kopiert. Es werden also alle Dateien kopiert, auch diejenigen mit denen die Option /Z Probleme hat.
/ZB
Es wird zunächst die Option /Z probiert. Schlägt das bei einer Datei fehl, verwendet Robocopy die Option /B.
/COPY:copyflags
Kopiert nur definierte Dateiattribute (Dateisystem muss NTFS sein).
- D – Daten
- A – Attribute
- T – Zeitstempel
- S – Sicherheit (NTFS ACLs)
- O – Besitzer-Informationen
- U – Informationen zur Überwachung.
Standardmäßig kopiert Robocopy nur mit der Option /COPY:DAT. Überwachung, Sicherheit und Datenbesitzer werden standardmäßig nicht kopiert.
/COPYALL
Kopiert alles, also wie /COPY:DATSOU (s.o.)
/NOCOPY
Es wird nichts kopiert (nur sinnvoll für Spiegelung, wenn gelöscht werden soll)
/SEC
Entspricht dem Schalter /COPY:DATS. Sicherheitsinformationen und ACLs werden kopiert.
/MOV
Löscht nach dem Kopieren die Quelldatei.
/MOVE
Verschiebt Dateien und Verzeichnisse
/PURGE
Löscht Dateien und Verzeichnisse im Ziel-Verzeichnis, die auf dem Quell-Verzeichnis nicht mehr vorhanden sind.
/MIR
Spiegelt ein komplettes Verzeichnis. Löscht also auch Dateien im Ziel, die in der Quelle nicht mehr vorhanden sind.
/A+:{R|A|S|H|N|T}
Ändert die Dateiattribute beim Kopieren:
- R – Read only
- S – System
- N – Not content indexed
- A – Archive
- H – Hidden
- T – Temporary
/A-:{R|A|S|H|N|T}
Löscht die Dateiattribute beim Kopieren:
- R – Read only
- S – System
- N – Not content indexed
- A – Archive
- H – Hidden
- T – Temporary
/CREATE
Erstellt leere Verzeichnisse, wenn in der Quelle auch vorhanden.
/FAT
Ändert die Dateinamen ab, damit sie dem 8.3-Format entsprechen, also maximal acht Zeichen vor und drei nach dem Punkt.
/FFT
Kopiert auf Systeme, die nur kompatibel zu NTFS sind, aber eigentlich nur das FAT-Dateisystem beherrschen.
/MON:n
Zählt Änderungen von Dateien im Quell-Verzeichnis mit und startet nach n Änderungen den Kopiervorgang nach dem Zeitraum der mit /MOT definiert wird. Geeignet, um Robocopy im Hintergrund laufen zu lassen.
/MOT:n
Nach n Minuten wird der Kopiervorgang wieder ausgeführt. Kombination mit /MON möglich.
/RH:hhmm-hhmm
Definiert den Kopierzeitraum. Die Werte müssen im Format 0000 bis 2359 eingegeben werden (24-Stunden-Format).
/PF
Geht der laufende Kopiervorgang über den mit /RH definierten Zeitraum hinaus, sollte diese Option verwendet werden, da der Kopiervorgang so schneller abgeschlossen werden kann.
/IPG:n
Mit dieser Option wird nach 64 KB n Millisekunden gewartet, bevor weiterkopiert wird. Dient zur Einsparung von Bandbreite
/IA:{R|A|S|H|C|N|E|T|O}
Kopiert nur Dateien mit den definierten Attributen:
- R – Read only
- A – Archive
- S – System
- H – Hidden
- C – Compressed
- N – Not content indexed
- E – Encrypted
- T – Temporary
- O – Offline
/XA:{R|A|S|H|C|N|E|T|O}
Kopiert keine Dateien mit den definierten Attributen:
- R – Read only
- A – Archive
- S – System
- H – Hidden
- C – Compressed
- N – Not content indexed
- E – Encrypted
- T – Temporary
- O – Offline
/A
Kopiert nur Dateien, in denen die Eigenschaft Archiv gesetzt wurde.
/M
Siehe /A, allerdings wird das Archiv-Attribut in der Quell-Datei zurückgesetzt.
/XF file [file]
Kopiert diese Dateien nicht. Es können mehrere Dateien hintereinander geschrieben werden. Die Option am Ende des Befehls setzen, oder mit * Platzhalter arbeiten.
/XD dir [dir]
Diese Verzeichnisse werden nicht kopiert. Damit können Unterverzeichnisse beim Spiegeln übersprungen werden (Pfad im Befehl angeben).
/XC
Als geändert markierte Dateien werden ausgeschlossen.
{tab title=“Seite 4″}
/XN
Neuere Dateien im Quellverzeichnis werden nicht kopiert.
/XO
Wie XN, nur werden keine älteren Dateien kopiert.
/MAX:n
Dateien, die größer als n Bytes sind, werden nicht kopiert.
/MIN:n
Kopiert keine Dateien, die kleiner als n Bytes sind.
/MAXAGE:n
Kopiert keine Dateien, die älter als n Tage sind. Das Datum kann in der Form von YYYYMMDD angeben werden.
/MINAGE:n
Es werden keinen neueren Dateien kopiert (siehe obige Syntax).
/MAXLAD:n
Dateien, auf die vor n Tagen nicht zugegriffen wurde, werden nicht kopiert (Syntax s.o.).
/MINLAD:n
Wie /MAXLAD, nur nach n Tagen, also neuere Dateien.
/R:n
Definiert die maximalen Fehler, die beim Kopieren übergangen werden (standardmäßig 1 Mio.).
/W:n
Definiert die Sekunden, die gewartet wird, wenn ein Kopiervorgang nicht erfolgreich war, um es erneut zu versuchen.
/REG
Speichert /R und /W in der Registry als Standardwert für weitere Robocopy-Tasks.
/L
Es wird kein Kopiervorgang ausgeführt, sondern nur eine Liste ausgegeben. GUt, um Kopiervorgänge zu simulieren. Setzt die Option einfach ans Befehlsende.
/TS
Zeigt den Zeitstempel der Quell-Dateien im Logfile an.
/FP
Zeigt den vollen Pfadnamen in der Logdatei.
/NS
Zeigt nicht Datei- und Verzeichnisgröße in der Logdatei an.
/NFL
Es werden nur Fehler geloggt (keine Kopiervorgänge).
/NP
Keine Fortschrittsanzeige des Kopiervorgangs
/ETA
Zeigt die Dauer der Kopiervorgänge an.
/LOG:file
In der definierten Datei wird ein Log gespeichert.
/LOG+:file
Statt einern neuen Datei wird das Log an eine bestehende Logdatei angehangen.
/TEE
Die Vorgänger werden auch in der Eingabeaufforderung angezeigt (sonst nur im Log).
/JOB:job
Auslesen der Parameter einer Job-Datei.
/SAVE:job
Parameter in einer Job-Datei speichern.
/QUIT
Es wird nichts ausgeführt. In Verbindung mit dem Job-Schalter wird der Inhalt der Job-Datei angezeigt.