xcopy Parameter und Befehle unter Windows
Mit dem Windows internen Tool XCOPY ist es möglich schnell Dateien zu kopieren und Backups erstellen zu lassen. Hier können Dateien und ganze Verzeichnisse kopiert werden, inklusive der Attribute. Dieses Tool gibt es schon sehr lange und wurde durch Robocopy “abgelöst”, da Robocopy Parameter mit sich bringt, welche die XCOPY Parameter weit übersteigen. Dennoch ist dieses Tool super um schnell und einfach Kopier-Vorgänge zu starten und ist perfekt für den Einsatz in Batch-Scripte.
Der XCOPY Befehl in der Kommandozeile
Der Grundbefehl in der Kommandozeile, oder auch in Batch-Dateien ist sehr einfach. Hier muss der Befehl xcopy lediglich mit der Quelle und dem Zeil angegeben werden. Optional sind noch weitere Parameter für den Kopiervorgang möglich, welche weiter unten in der Liste dargestellt werden.
XCOPY [Quelle] [Ziel] [Parameter]
Exit Code
Nach einem Kopier-Vorgang gibt xcopy Exit Codes zurück. Diese Return-Codes sind sehr wichtig. Anhand diesen Code kann man herausfinden, mit welchem Status der Vorgang abgeschlossen wurde. Wurden keine Dateien kopiert, oder wurde alles erfolgreich abgeschlossen? Hier gibt es lediglich vier Möglichkeiten:
- 0 – Dateien wurden ohne Fehler kopiert
- 1 – Es wurden keine Dateien zum Kopieren gefunden
- 2 – Der Benutzer hat den Vorgang durch das Drücken von STRG+C abgebrochen. Außerdem kann es sein, dass ein ungültiger Laufwerksbuchstabe angegeben wurde, oder dass die Syntax nicht korrekt ist.
- 5 – Allgemeiner Fehler beim Schreiben auf den Datenträger
Die XCOPY Parameter
Wie oben schon erwähnt, gibt es auch bei XCOPY Parameter die verwendet werden können. In der Hilfe des Befehls lassen sich alle möglichen Parameter anzeigen. Die Hilfe erhält man mit einem Fragezeichen-Parameter:
xcopy /?
PARAMETER
Beschreibung
<Quelle>
Bestimmt den Dateinamen inklusive Pfad, dessen Datei kopiert werden soll.
<Ziel>
Gibt den Ziel-Pfad an. Alternativ kann auch der Pfad inklusive Dateinamen angegeben werden, wenn die Datei umbenannt werden soll.
/W
Fordert den Benutzer auf vor dem Kopieren eine beliebige Taste zu drücken.
/C
Fehler beim Kopieren werden ignoriert.
/V
Dateien werden nach dem Vorgang verifiziert, ob die Ziel-Datei mit der Quell-Datei identisch sind.
/Q
Ein Quiet-Parameter, welcher Meldungen von XCOPY nicht anzeigt, beziehungsweise unterdrückt.
/F
Zeigt die Namen der Quell- und Ziel-Datei während des kopieren an.
/L
Zeigt die Liste der zu kopierenden Dateien an und listet diese auf.
/A
Kopiert nur Dateien, bei denen das Archiv-Attribut gesetzt ist und setzt dieses bei der Ziel-Datei.
/M
Kopiert nur Dateien, bei denen das Archiv-Attribut gesetzt ist aber setzt dieses Attribut bei der Ziel-Datei NICHT.
/D:M-T-J
Kopiert nur die Dateien, welche nach dem angegebenen Datum geändert wurden.
/EXCLUDE:deineDatei.txt
Schließt die angegebene Datei beim Kopieren aus. Sollen mehrere angegeben werden, so muss zwischen den Dateinamen ein “+” gesetzt werden.
/P
Fordert den Benutzer auf den Kopiervorgang zu bestätigen, bevor die Ziel-Datei erstellt wird.
/S
Kopiert nur Verzeichnisse und dessen Unterverzeichnisse, welche NICHT LEER sind.
/E
Kopiert alle Verzeichnisse und Unterverzeichnisse, egal ob diese leer sind oder nicht.
/I
Werden mehrere Dateien kopiert und das Ziel nicht existiert, nimmt xcopy an, dass das Ziel keine Datei, sondern ein Verzeichnis ist.
/G
Kopiert verschlüsselte Dateien in ein Ziel, welches keine Verschlüsselung unterstützt.
/H
Dieser Parameter erlaubt es auch Dateien zu kopieren, welche die Attribute “System” oder “Versteckt” gesetzt haben.
/R
Schreibgeschützte Dateien werden ohne Rückfrage überschrieben.
/T
Hier wird lediglich die Verzeichnis-Struktur im Ziel erstellt, aber keine Dateien kopiert.
/U
Es werden nur die Dateien kopiert, welche schon im Ziel-Verzeichnis existieren.
/K
Kopiert die Attribute einer Datei, wobei “Schreibgeschützt” gelöscht wird.
/N
Verwendet so genannte Kurznamen während des Kopierens.
/O
Informationen über den Besitzer und ACL der Datei werden ebenfalls kopiert.
/X
Dateiüberwachungseinstellungen werden kopiert.
/Y
Zieldateien werden ohne Nachfrage überschrieben.
/-Y
Der Benutzer muss bestätigen, bevor eine Datei überschrieben wird.
/Z
Das ist der Neustart-Modus. Werden große Datei-Mengen kopiert, kann man an einer bestimmten Stelle fortsetzen, an der abgebrochen wurde.
Der Unterschied zwischen Robocopy und XCOPY
Wenn man sich nicht viel mit den Kopier-Tools beschäftigt, dann sieht man in erster Linie keinen großen Unterschied zwischen Robocopy und xcopy. Wie oben schon genannt, ist Robocopy der Nachfolger. Mit Robocopy hat man viel mehr Möglichkeiten gewissen aufgaben zu erledigen, da es auch viel mehr Parameter gibt.
- Robocopy ist der Nachfolger
- Robocopy besitzt viel mehr Parameter, welche verwendet werden können
- RC benutzt “mirroring”, was xcopy nicht verwendet
- RC hat den Schalter /RH, welcher es ermöglicht eine Start-Zeit zu setzen
- RC versucht eine Datei erneut zu kopieren, wenn ein Fehler aufgetreten ist
- …
Die Liste ist definitiv noch länger. Abschließend kann man sagen, dass es für einfache Kopier-Vorgänge egal ist, welches Tool man verwendet. Für komplexere Aufgaben ist allerdings Robocopy empfehlenswert.