Der ultimative Leitfaden zum Kopieren von Dateien und Ordnern mit Xcopy

Das Tool Xcopy, das für erweitertes Kopieren steht, ist ein beliebtes Befehlszeilen-Dienstprogramm zum Kopieren großer Datenmengen unter Windows. Im Vergleich zum traditionellen copy-Befehl verfügt Xcopy über mehr Funktionen und Schalter, die eine bessere Kontrolle beim Kopieren oder Verschieben von Dateien und Ordnern ermöglichen.

In diesem Leitfaden erfahren Sie, wie Sie Xcopy für verschiedene Szenarien des Dateikopierens verwenden können. Vom Kopieren einer einzelnen Datei über mehrere Verzeichnisse, das Anwenden von Filtern oder Ausschlüssen bis hin zu weiteren Möglichkeiten. Am Ende werden Sie das Wissen erlangt haben, Xcopy für Ihre täglichen Dateikopieraufgaben zu nutzen.

Beginnen wir!

Voraussetzungen

Um den Beispielen in diesem Leitfaden folgen zu können, benötigen Sie Folgendes.

  • A Windows (server or client) computer. Xcopy comes built-in to Windows, and you don’t need to download anything else. This guide will use Windows 10 Build 1909.
  • Xcopy funktioniert auf der Befehlszeile oder PowerShell, und in diesem Artikel wird davon ausgegangen, dass Sie bereits eine davon geöffnet haben.

Verständnis des Xcopy-Befehls

Xcopy ist ein Befehlszeilen-Dienstprogramm, das seit Windows 98 standardmäßig verfügbar ist. Sie finden dieses Tool im Ordner %WINDIR%\system32 mit dem ausführbaren Namen xcopy.exe.

Im Vergleich zum Windows copy-Befehl ist Xcopy beim Kopieren von Dateien und Verzeichnissen wesentlich effizienter. Darüber hinaus verfügt Xcopy über mehr Optionen, die es anpassbarer machen und Ihnen ermöglichen, das Kopierverhalten von Dateien zu steuern.

Vorteile

Es gibt mehrere Vorteile oder Vorteile bei der Verwendung von Xcopy, die Sie im Verlauf dieses Leitfadens kennenlernen werden. Aber hier sind einige der Vorteile der Verwendung von Xcopy.

  • Schnellere Kopieroperation bei großen Datei- und Verzeichnismengen.
  • Vereinfacht die Anwendungsbereitstellung.
  • Kann die Quellverzeichnisstruktur unverändert replizieren.
  • Dateien kopieren und dabei den Besitzer und die Zugriffssteuerungsliste (ACL) beibehalten.
  • Kopiert und überschreibt schreibgeschützte Dateien.
  • Kann Dateien anhand des Dateinamens, der Erweiterung oder des Pfads ausschließen.
  • Kann aktualisierte Dateien identifizieren, was für differentielle Backups nützlich ist.
  • Integration und Verwendung mit Skripten.

Einschränkungen

Auch wenn Xcopy großartig ist, hat es einige Einschränkungen. Obwohl diese Einschränkungen möglicherweise kein Ausschlusskriterium sind, ist es gut, sie vor dem Eintauchen zu kennen.

  • Kann geöffnete Dateien nicht kopieren.
  • Keine Unterstützung für den Windows Volume Shadow Copy Service (VSS). Diese fehlende VSS-Unterstützung macht Xcopy ungeeignet für das Sichern von Live-Betriebssystemvolumes.
  • Fehler aufgrund unzureichenden Speichers, wenn die Länge des Pfads plus Dateiname 254 Zeichen überschreitet.

Xcopy Syntax-Referenz

Xcopy ermöglicht Ihnen verschiedene Datei- und Ordnerkopieroperationen durchzuführen. Doch zunächst müssen Sie seine Syntax und Optionen verstehen. Es gibt viele Optionen, die das Verhalten von Xcopy ändern würden. Um Ihnen bei der Interpretation dieser Optionen zu helfen, werden die folgenden Tabellen diese ausführlich behandeln.

Die erste Pfadbezeichnung bezieht sich auf die Quelldatei(en); die zweite Pfadbezeichnung bezieht sich auf die Zieldatei(en).

xcopy [source] [destination] [options]
  • [Quelle] – Pfadname für die zu kopierende(n) Datei(en) (akzeptiert Platzhalter). Sie sollten das Laufwerk, den Pfad und die Dateien angeben, die Sie kopieren möchten.
  • [Ziel] – Pfadname für die neuen Datei(en). Wenn Sie den Ziel-Pfad nicht angeben, werden die Dateien in denselben Pfad wie die Quelle kopiert.
  • [Optionen] – Kann eine der folgenden Optionen in den folgenden Tabellen sein. Sie können sich diese Optionen auch anzeigen lassen, indem Sie das Befehl xcopy /? ausführen oder die Xcopy Online-Dokumentation besuchen.

Quellenoptionen

Switch Explanation
/A Copy files that have the archive attribute.
/M Copy files with the archive attribute set, then switches off the archive attribute at the destination. Use this option when creating routine backups.
/H Copy hidden and system files and directories. The default value is N.
/D:mm-dd-yyyy Only copies that files with modification date on or after the given date. Without using this option, the command will copy only the files whose date/time is newer than the destination.
/U Only copies the files that already exists at the destination.
/S Copies folders and subfolders recursively excluding the empty one.
/E Copies folders and subfolders recursively including the empty one.
/EXCLUDE:file1[+file2][+file3]… Specify the text file(s) containing a list of strings to match absolute file paths to exclude.

Zieloptionen

Switch Explanation
/I If the destination does not exist, using this option assumes that the destination is a directory and creates it. If you omit this option, the command prompts to confirm if the destination is a directory or a file.
/R Overwrites read-only files.
/T Creates a recursive folder structure at the destination without copying the files. This option does not include copying empty folders. To include empty folders, use this option together with the /E option.
/K Preserves the file attributes during the copy. Otherwise, the command will reset read-only attributes.
/N Copies files using their short file names.
/O Copies files including ownership and access control list (ACL) information.
/X Copies files including file audit settings and ACL information (implies using /O).

Kopieroptionen

Switch Explanation
/W Prompts for a key press before the copy process can start.
/P Prompts (Y/N) before creating each file.
/Y Suppresses the confirmation to overwrite destination file if exists.
/-Y Prompts to confirm overwriting an existing destination file.
/V Verifies that the source and destination file sizes are identical.
/C Ignores errors and forces the command to continue copying.
/B Copies only the symbolic link but not the link target file.
/G Copies encrypted files to a destination that does not support encryption.
/J Copies files without using the buffer. This switch useful when copying very large files.
/Q Suppresses the display of file names while copying.
/F Displays the full source and destination file paths while copying.
/L Only displays which files to copy without copying them. This switch can be useful when testing Xcopy commands with multiple options to assess the expected result.
/Z Copies files in restartable mode. Using this option, the command gracefully stops copying files during network interruption. The copying will resume after re-estabslishing the network connection.

Arbeiten mit Xcopy: Beispiele zur Verwendung

Jetzt, da Sie mit der Xcopy-Syntax und den Optionen vertraut sind, ist es an der Zeit, sie tatsächlich zu verwenden, indem Sie eine oder mehrere Optionen kombinieren. In den folgenden Abschnitten werden viele verschiedene Szenarien erkundet, um Xcopy zum Kopieren von Dateien und Ordnern zu verwenden.

Auflisten der zu kopierenden Dateien

Wenn Sie einen Dateiserver mit einer großen Anzahl von Dateien haben, die Sie kopieren möchten, möglicherweise an einen Sicherungsort, wäre es ideal, zuerst Ihren Xcopy-Befehl zu testen. Eine Situation, in der Sie Xcopy testen möchten, ist, wenn Sie mehrere Xcopy-Optionen kombinieren.

Mit dem Schalter /L können Sie mit Xcopy simulieren, was passiert wäre, wenn Sie den Befehl ausgegeben hätten, indem Sie auflisten, welche Dateien kopiert würden. Auf diese Weise können Sie bestätigen, ob Ihr Befehl alle gewünschten Dateien kopiert.

XCOPY C:\Workarea\XCopyDemo C:\Workarea\XCopyDemoFolder /L

Kopieren einer einzelnen Datei

Die einfachste Operation, die Sie mit Xcopy ausführen können, besteht darin, eine Datei von einer Quelle zu einem Ziel zu kopieren, ohne Optionen zu verwenden. Der folgende Befehl kopiert beispielsweise eine Textdatei in ein Zielverzeichnis, und der Dateiname bleibt gleich.

XCOPY C:\Workarea\XCopyDemo\NewFile.txt C:\Workarea\XCopyDemoFolder

Sie können auch die Quelldatei kopieren und den Zieldateinamen ändern, indem Sie den folgenden Befehl ausführen.

XCOPY C:\Workarea\XCopyDemo\NewFile.txt C:\Workarea\XCopyDemoFolder\AnotherFile.txt

Dateien in einen neuen Ordner kopieren

Mit Xcopy können Sie Dateien kopieren und das Zielverzeichnis dynamisch erstellen. Dazu müssen Sie der Xcopy-Befehlsoption /I anfügen.

Der folgende Befehl kopiert beispielsweise die Dateien aus dem Ordner C:\Workarea\Demo in den Ordner D:\Workarea. Wenn der Zielordner nicht vorhanden ist, erstellt Xcopy den Zielordner mit der Option /I.

XCOPY C:\Workarea\Demo D:\Workarea /I

Rekursives Kopieren aller Dateien und Ordner

Neben dem Kopieren von Dateien von einem Ordner in einen anderen ermöglicht es Ihnen Xcopy auch, Ordner und Dateien rekursiv zu kopieren. Und es gibt zwei Möglichkeiten, eine rekursive Kopie durchzuführen – mit und ohne leere Ordner.

Um alle Dateien und Verzeichnisse zu kopieren und leere Verzeichnisse zu ignorieren, fügen Sie am Ende des Xcopy-Befehls die Option /S hinzu, wie unten gezeigt.

XCOPY C: D: /S

Andererseits, um leere Verzeichnisse während des rekursiven Kopierens einzuschließen, fügen Sie stattdessen die Option /E zum Befehl hinzu.

XCOPY C: D: /E

Einschließlich Versteckter und Systemdateien

Standardmäßig schließt Xcopy versteckte und Systemdateien nicht in Kopiervorgänge ein. Wenn Sie jedoch möchten, dass Xcopy versteckte und Systemdateien einbezieht, fügen Sie den Schalter /H zum Befehl hinzu.

Der folgende Befehl kopiert alle Dateien rekursiv, einschließlich versteckter und Systemdateien. Dieser Befehl ignoriert auch Fehler, erstellt die Zielordner und überschreibt vorhandene Dateien.

XCOPY C:\Workarea\Documents D:\Workarea\Documents /S /H /C /Y

Erhaltung des schreibgeschützten Dateiattributs

Ein weiteres Attribut, das Xcopy behandeln und erhalten kann, ist das schreibgeschützte Attribut der Datei. Standardmäßig entfernt Xcopy beim Kopieren einer schreibgeschützten Datei das schreibgeschützte Attribut am Zielort. Um Xcopy davon abzuhalten, das schreibgeschützte Attribut zu entfernen, fügen Sie den Schalter /K zum Befehl hinzu.

Zum Beispiel kopiert der folgende Befehl eine schreibgeschützte Datei an einen anderen Speicherort, und die resultierende Zieldatei behält weiterhin ein schreibgeschütztes Attribut bei. Dieser Befehl überschreibt auch die Zieldatei, wenn die Datei vorhanden ist.

XCOPY C:\Workarea\XCopyDemo\NewFile.txt D:\Workarea /I /K /Y

Als Nebeneffekt der Erhaltung der Datei als schreibgeschützt kann Xcopy dieselbe Datei in zukünftigen Kopiervorgängen nicht überschreiben. Sie können jedoch Xcopy dazu zwingen, schreibgeschützte Dateien zu überschreiben, indem Sie den Schalter /R hinzufügen.

XCOPY C:\Workarea\XCopyDemo\NewFile.txt D:\Workarea /K /R /Y

Filtern von Dateien zum Kopieren

Angenommen, es gibt mehrere Dateien im Quellordner und in Unterordnern, die Sie kopieren möchten. Xcopy ermöglicht es Ihnen, Platzhalterzeichen als Filtermöglichkeit zum Kopieren bestimmter Dateien zu verwenden. Zum Beispiel kopiert der folgende Befehl nur die Dateien mit der Erweiterung „.cs“ rekursiv vom Stammverzeichnis des Laufwerks „C:“ zum Stammverzeichnis des Laufwerks „E:“. Dieser Befehl ignoriert auch Fehler und überschreibt vorhandene Dateien ohne Nachfrage.

cs C: E:

XCOPY C:\*.cs E:\ /S /C /Y

Dateien und Ordner vom Kopieren ausschließen

A powerful feature of Xcopy is its ability to exclude files from the copy process. To use this feature, you can leverage the /EXCLUDE switch. This switch accepts the names of the file(s) that contain the exclusion lists.

Zunächst müssen Sie eine Datei erstellen oder eine bereits vorhandene Datei mit der Ausschlussliste haben. Sie können zum Beispiel eine Textdatei namens „Exclude.txt“ haben, die die folgenden Einträge enthält. Wie Sie sehen können, kann die Ausschlussdatei spezifische Dateinamen, Dateierweiterungen und Ordner als Einträge enthalten.

xyz.txt
Exclude.txt
.pdf
.png
\exclude\

Um Xcopy mit Ausschlüssen auszuführen, führen Sie den folgenden Befehl aus und geben Sie den vollständigen Pfad der Ausschlussdatei an den Schalter „/EXCLUDE“ an. Dieser Befehl verwendet die Datei „C:\Workarea\XCopyDemo\Exclude.txt“.

XCOPY C:\Workarea\XCopyDemo C:\Workarea\Backup /S /Y /Exclude:C:\Workarea\XCopyDemo\Exclude.txt

Das Ergebnis? Xcopy wird ausgeführt, um Dateien zu kopieren, überspringt jedoch die Dateien „xyz.txt“, „Exclude.txt“, alle Dateien mit den Erweiterungen „.pdf“ und „.png“ sowie alle Dateien im Verzeichnis „exclude“.

Durchführen einer differentiellen Sicherungskopie

Wenn Sie Dateien von einem Speicherort zu einem anderen sichern müssen, bietet Xcopy eine Option, mit der Sie eine differentielle Sicherungskopie durchführen können. Anstatt alle Dateien zu kopieren, kopiert eine differentielle Sicherungskopie nur die Dateien, bei denen das Änderungsdatum auf oder nach einem von Ihnen angegebenen Datum liegt, das Sie dem Schalter „/D:m-d-y“ übergeben.

Um beispielsweise nur die Dateien mit dem Änderungsdatum am oder nach dem 1. April 2021 zu kopieren, führen Sie den folgenden Befehl aus. Zusätzlich führt dieser Befehl eine rekursive Kopie durch, ignoriert Fehler und überschreibt vorhandene Dateien am Zielort.

XCOPY C:\Workarea\XCopyDemo C:\Workarea\Backup /D:04-01-2021 /S /C /Y

Wenn Sie kein Datum mit der Option /D angeben, kopiert Xcopy nur die Quelldateien, die neuer sind als die Zieldateien.

Kopieren von Dateien basierend auf dem Archivattribut

Normalerweise entfernen Backup-Programme das Archivattribut einer Datei nach einer Backup-Operation. Nachdem eine Datei geändert wurde (z. B. bearbeiten und speichern), setzt Windows automatisch das Archivattribut zurück.

Wenn Sie ein Skript zum Sichern von Dateien mit Xcopy erstellen, können Sie das Archivattribut verwenden, um zu bestimmen, ob die Datei kopiert oder gesichert werden soll.

Um Dateien mit dem Archivattribut zu kopieren, können Sie die Schalter /A und /M verwenden. Welcher dieser Schalter verwendet wird, hängt davon ab, ob Sie das Archivattribut der Datei beibehalten möchten oder nicht.

Der folgende Befehl führt eine rekursive Kopie von Dateien mit dem Archivattribut durch. Die Zieldateien behalten das Archivattribut nach der Kopie aufgrund des Schalters /A bei.

XCOPY C:\Workarea\Demo D:\Workarea\Test /A /S /Y

Im Gegensatz dazu können Sie mit dem Schalter /M das Archivattribut der Quelldatei nach dem Kopieren zum Ziel entfernen.

XCOPY C:\Workarea\Demo D:\Workarea\Test /M /S /Y

Beibehalten von Dateibesitzer- und ACL-Informationen.

Stellen Sie sich vor, Sie erstellen ein Backup eines gesamten Profilordners. Jede Datei kann unterschiedliche Besitzer oder einzigartige Berechtigungen haben. Wenn Sie diese Dateien wiederherstellen müssen, möchten Sie, dass die gleichen Besitzer und Berechtigungen intakt bleiben.

Auf diese Weise würde der gesamte Prozess nahtlos erscheinen, und die Benutzer werden weiterhin den gleichen Zugriff auf die Dateien haben wie zuvor. Aber zuerst müssen Sie sicherstellen, dass Sie diese Dateien sichern, während Sie die bestehenden Besitzer und Zugriffsrechte beibehalten.

Um Dateien zu kopieren und Besitzer- sowie ACL-Informationen beizubehalten, fügen Sie dem xcopy-Befehl den Parameter /O hinzu, wie unten dargestellt.

XCOPY C:\Workarea D:\Work /O /I /Y

Neben dem Beibehalten der Besitzer- und ACL-Informationen können Sie auch die Überwachungseinstellungen der Dateien einschließen Audit-Einstellungen. Das Kopieren von Audit-Einstellungen kann nützlich sein, wenn Ihre Organisation Gruppenrichtlinienobjekte (GPO) zur Überwachung von Dateien anwendet.

Verwenden Sie den Schalter /X, um die Audit-Einstellungen der Dateien beim Kopieren mit Xcopy einzuschließen. Der Schalter /X impliziert auch den Schalter /O, daher müssen Sie beide Schalter nicht gleichzeitig verwenden.

XCOPY C:\Workarea D:\Work /X /I /Y

Kopieren von Dateien und Ordnern über das Netzwerk

Nicht nur kann Xcopy Dateien zwischen Orten auf derselben oder verschiedenen Festplatten kopieren, sondern es kann auch Dateien über das Netzwerk kopieren. Leider ist das Kopieren von Dateien über das Netzwerk nicht immer zuverlässig. Netzwerkverbindungen können unter kurzen Unterbrechungen leiden und in einigen Fällen sogar vollständig die Verbindung verlieren.

Zum Glück können Sie Xcopy im neu startbaren Modus ausführen. Das bedeutet, dass selbst wenn der Kopiervorgang aufgrund eines Netzwerkfehlers stoppt, die Kopie nach Wiederherstellung der Netzwerkverbindung fortgesetzt werden kann. Um Xcopy im neu startbaren Modus auszuführen, müssen Sie den Schalter /Z zum Befehl hinzufügen.

Zum Beispiel führt der untenstehende Befehl eine rekursive Dateikopie vom C:\Arbeitsbereich Ordner zu einem Netzwerkort aus. Der /Z Parameter bewirkt, dass Xcopy im neu startbaren Modus ausgeführt wird.

XCOPY C:\Workarea "\\SERVER01\Backup" /S /Z

Mit dem Schalter /Z zeigt Xcopy auch den Dateikopierfortschritt in Prozent an.

Dateien mit nicht gepuffertem I/O kopieren

Gepuffertes I/O entspricht der Art und Weise, wie das Betriebssystem Festplattenzugriffe im Dateisystemcache zwischenspeichert. Obwohl das Puffern das Lesen und Schreiben in dieselbe Datei beschleunigt, hat es seinen Preis. Als Ergebnis ist nicht gepuffertes I/O (oder eine direkte Dateikopie) die bevorzugte Methode zum Kopieren großer Dateien.

Diese Kopiermethode reduziert den Overhead des Dateisystems-Caches und verhindert, dass der Dateisystem-Cache leicht mit großen Mengen von Dateidaten gelöscht wird.

Um große Dateien mit nicht gepuffertem I/O zu kopieren, können Sie dem Xcopy-Befehl den Schalter /J hinzufügen, wie unten dargestellt.

XCOPY C:\Workarea\abc.mp4 D:\Temp /I /J

Kopieren von Dateien mit Überprüfung

Wie bei anderen Aufgaben können beim Kopieren von Dateien nicht immer 100% erfolgreiche Ergebnisse erzielt werden. Einige Dateien können während der Übertragung beschädigt werden, auch wenn keine sichtbaren Fehler auftreten.

Mit Xcopy können Sie den Schalter /V verwenden, um zu überprüfen, ob die Ziel- und Quelldateien nach dem Kopieren anhand ihrer Größe identisch sind. Identische Quell- und Zieldateien zeigen an, dass die Kopie erfolgreich war und die Datei intakt ist.

Der folgende Befehl kopiert alle Dateien von C:\Workarea\XCopyDemo nach C:\Workarea\Backup und überprüft jede Datei mithilfe des Schalters /V. Der Schalter /F zeigt den vollständigen Pfad der Quell- und Zieldateien an.

XCOPY C:\Workarea\XCopyDemo C:\Workarea\Backup /F /H /S /X /V

Kopieren von verschlüsselten Dateien

Xcopy unterstützt auch das Kopieren von verschlüsselten Dateien zu Zielen, die keine Verschlüsselung unterstützen. Mit dem Schalter /G kopiert Xcopy verschlüsselte Quelldateien und erstellt entschlüsselte Zieldateien.

Dieser Kopiermodus ist besonders nützlich, wenn verschlüsselte Dateien auf Netzwerkfreigaben oder nicht-Encrypting File System (EFS)-Volumes gesichert werden.

Xcopy C:\Workarea\XCOPYDemo C:\Workarea\XCOPYDemoFolder /S /G

Kopieren von Ordnerstrukturen

In einigen Situationen können Backup-Skripte oder Programme erfordern, dass Sie das Ziel vor dem Kopieren der Dateien aus der Quelle vorab bereitstellen. Bei Bedarf können Sie Xcopy verwenden, um die Ordnerstruktur der Quelle ohne den Inhalt zu replizieren.

Um dies zu tun, führen Sie den Xcopy-Befehl mit dem Schalter /T aus. Durch Verwendung des Schalters /T kopiert Xcopy nur die Verzeichnisstruktur zum Ziel, ignoriert jedoch die leeren Verzeichnisse.

Sie können auch den Schalter /E zum Befehl hinzufügen, um leere Verzeichnisse einzuschließen, wie im Beispielbefehl unten gezeigt.

Xcopy C:\Workarea\XCOPYDemo C:\Workarea\XCOPYDemoFolder /T /E

Gemeinsame Fehler

Wenn etwas schief gehen kann, wird es wahrscheinlich passieren. Das Gleiche gilt, wenn Sie Dateien kopieren, unabhängig vom Volumen. Im Folgenden sind die häufigsten Xcopy-Fehler aufgeführt, auf die Sie stoßen könnten.

Ungültige Anzahl von Parametern

Dieser Fehler tritt normalerweise auf, wenn der von Ihnen eingegebene Befehl Leerzeichen enthält. Um diesen Fehler zu vermeiden, sollten Sie beim Eingeben eines Quell- oder Zielwegs, der Leerzeichen enthält, den Pfad mit doppelten Anführungszeichen umgeben.

Zum Beispiel, wenn der Pfad C:\Dokumente und Einstellungen lautet, geben Sie den Pfad als „C:\Dokumente und Einstellungen“ ein.

Kann keine zyklische Kopie durchführen

Dieser Fehler tritt auf, wenn das Quellverzeichnis, das Sie kopieren, auch das Zielverzeichnis enthält. In diesem Fall würde Xcopy eine Schleife durchlaufen und einen Fehler verursachen. Wenn Sie Xcopy verwenden, muss das Ziel ein vollständig unabhängiges Verzeichnis oder Laufwerk sein, wenn Sie alle Verzeichnisse und Unterverzeichnisse kopieren.

Parse Error

Dieser Fehler tritt auf, wenn Sie falsche oder ungültige Syntax im Befehl eingegeben haben. Zum Beispiel könnten Sie diesen Fehler sehen, wenn Sie Ihren Pfad in Anführungszeichen angegeben haben, aber die abschließenden Anführungszeichen fehlen.

Beispielsweise fehlt im folgenden Befehl das schließende doppelte Anführungszeichen im Zielverzeichnis.

Xcopy C:\Workarea "C:\Workarea\XCopy Demo /S /I /E /Y

Ausgangscodes

Xcopy gibt einen Ausgangscode für eine Operation zurück, den Sie verwenden können, um festzustellen, ob die Operation erfolgreich war. Ausgangscodes sind besonders nützlich, wenn Ihre Aufgabe oder Ihr Skript Aktionen basierend auf dem erhaltenen Ausgangscode ausführt.

Die Befehlsshell speichert Ausgangscodes in der Variable %ErrorLevel%. Ihr Code kann dann den Wert dieser Variable überprüfen, um das Ergebnis der Xcopy-Operation zu bestimmen.

Hier ist eine Tabelle, die alle Xcopy-Ausgangscodes auflistet.

Exit Code Purpose
0 This exit code means that there were no errors.
1 This exit code means that Xcopy did not find any files to copy.
2 This exit code means that the Xcopy was terminated by pressing CTRL+C.
4 This exit code means that an initialization error happened either because of insufficient memory or disk space or because you’ve entered invalid syntax.
5 This exit code means that there was a disk write error.

Skripting mit Xcopy

Neben der interaktiven Verwendung von Xcopy können Sie von seinen Vorteilen besser profitieren, wenn Sie es zum Automatisieren von Aufgaben mit Skripten verwenden. Hier sind ein paar Beispiele, die zeigen, wie Sie Xcopy in Skripten verwenden können.

Xcopy-Batch-Skript zum Kopieren von Daten mit Fehlerbehandlung

Dieses Beispiel-Batch-Skript kopiert alle Dateien rekursiv mit Fehlerbehandlungslogik. Und abhängig vom Fehler oder Ausgangscode gibt das Skript eine Meldung aus, die den Grund für den Fehler zeigt.

Um die Batch-Datei zu erstellen, öffnen Sie einen Text- oder Code-Editor Ihrer Wahl, kopieren Sie den folgenden Code, fügen Sie ihn in Ihren Editor ein und speichern Sie die Datei als copycomplete.bat.

@echo off
rem This batch file copies all source
rem files in all directories and sub-directories from the source
rem path (%1) to the destination path (%2)

xcopy %1 %2 /s /e

if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit

:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit

:abort
echo You pressed CTRL+C keys due to which the copy operation has been aborted.
goto exit

:exit

Um das Skript auszuführen, rufen Sie dessen Namen in der Eingabeaufforderung oder PowerShell auf, gefolgt von den Quell- und Zielordnern.

pycomplete.bat xcopydemo xcopydemofolder
Running an Xcopy batch file

Xcopy Batch-Skript zum Verschieben von Daten

Xcopy hat keine integrierte Funktion zum Verschieben von Dateien und Ordnern von der Quelle zum Ziel. Aber als Workaround können Sie ein Skript erstellen, das zuerst die Dateien mit Xcopy kopiert und dann die Dateien von der Quelle löscht.

Der untenstehende Code kopiert die Dateien zum Ziel. Wenn der Kopiervorgang erfolgreich war, löscht das Skript die Dateien in der Quelle. Kopieren Sie den untenstehenden Code und speichern Sie ihn in einer neuen Datei namens movefiles.bat.

Rem Batch file to move files

Xcopy /D /V %1 %2

Rem If the Xcopy process is successful (0), then delete the files at the source.
if errorlevel 0 (
echo Xcopy process completed successfully
del /Q %1
exit /B
)

Rem Errorlevel is not 0
echo The copy process has failed.

Um die Batch-Datei movefiles.bat auszuführen, rufen Sie deren Namen in der Eingabeaufforderung oder PowerShell auf, gefolgt von den Pfaden der Quelle und des Ziels, wie im vorherigen Beispiel.

movefiles.bat xcopydemo xcopydemofolder

Zusammenfassung

Wenn Ihr Job das Kopieren von Dateien in großen Mengen oder das Erstellen von Dateisicherungen umfasst, ist Xcopy ein hervorragendes Tool, um Ihre Arbeit zu erleichtern. Xcopy liefert genaue und schnelle Dateikopierergebnisse mit vielen Optionen, um das Verhalten an Ihre Anforderungen anzupassen.

Source:
https://adamtheautomator.com/xcopy/