HOWTO · Batch

XCOPY Überschreiben im Batch

Dieses Tutorial zeigt, wie man XCOPY im Batch verwendet, um vorhandene Dateien zu überschreiben, einschließlich des Überschreibens aller Dateien ohne Rückfrage.

Auf dieser Seite

Xcopy ist ein Befehlszeilenprogramm, mit dem eine oder mehrere Dateien oder Verzeichnisse, einschließlich Unterverzeichnisse, von einem Ort an einen anderen kopiert werden. Es ähnelt dem Befehl copy, ist aber leistungsfähiger, da es ganze Verzeichnisse von einem Ort an einen anderen kopieren kann.

Es ist leistungsfähig genug, um sogar Laufwerke zu kopieren. Xcopy ist ein schneller Befehl, der Dateien und Ordner kopieren, vorhandene Dateien mit oder ohne Rückfrage überschreiben, Dateien nach Name, Pfad oder Erweiterung ausschließen, aktualisierte Dateien erkennen kann usw.

Es wird in fast allen Windows-Versionen ab Windows 98 unterstützt. Es kann als DOS-Befehl verwendet werden, um xcopy in MS-DOS zu nutzen.

Die Syntax für den Befehl xcopy lautet:

xcopy source [destination] [switches]
  1. source - Speicherort und Namen der zu kopierenden Dateien. Es muss das Laufwerk und den Pfad der Dateien oder Verzeichnisse enthalten.
  2. destination - das Ziel der zu kopierenden Dateien. Es kann ein Laufwerk, ein Verzeichnis oder ein Dateiname sein.
  3. switches - Optionen, die der Befehl xcopy bereitstellt. Sie können angezeigt werden, indem xcopy /? im Eingabeaufforderungsfenster ausgeführt wird.

Es gibt mehrere andere Befehle, die xcopy ähneln, einige sogar leistungsfähiger, wie robocopy, rsync, teracopy usw. Aber wir bleiben in diesem Artikel bei xcopy.

Dieses Tutorial zeigt, wie alle Dateien im Ziel ohne Rückfrage überschrieben werden, während Dateien mit dem Befehl xcopy kopiert werden.

Dateien in einen neuen Ordner im Batch kopieren

Um Dateien von einem Ort an einen anderen zu kopieren, führen Sie den folgenden Befehl aus.

xcopy C:\testfolder D:\testfolder /i /s

copy files using xcopy command

  1. /s - kopiert Verzeichnisse, Unterverzeichnisse und Dateien innerhalb des zu kopierenden Ordners, sofern sie nicht leer sind.
  2. /i - zwingt xcopy, das Ziel als Verzeichnis anzunehmen, und erstellt ein neues Verzeichnis. Sie werden aufgefordert einzugeben, ob das Ziel eine Datei oder ein Verzeichnis ist, wenn diese Option nicht verwendet wird.

Um nur die Verzeichnisstruktur und nicht die Dateien zu kopieren, führen Sie den folgenden Befehl aus.

xcopy C:\testfolder D:\testfolder /t /e

copy directories using xcopy command

  1. /t - kopiert die Verzeichnisstruktur ohne Dateien.
  2. /e - kopiert alle Unterverzeichnisse, auch wenn sie leer sind. Es wird mit den Optionen /t und /s verwendet.

Ausgabe:

copy directories using xcopy command(output)

Wie oben gezeigt, wird nur das Verzeichnis kopiert und nicht die Dateien.

Dateien durch Überschreiben vorhandener Dateien im Batch kopieren

Um vorhandene Dateien beim Kopieren zu überschreiben, führen Sie den folgenden Befehl aus.

xcopy C:\testfolder D:\testfolder /i /s

overwrite existing files(with prompt)

Wenn das Ziel bereits eine Datei mit demselben Namen enthält, hält xcopy an und fragt, was mit dieser Datei geschehen soll:

Overwrite D:\testfolder\MyFile.txt (Yes/No/All)?

Wie im obigen Bild gezeigt, wird gefragt, ob die vorhandene Datei oder alle Dateien überschrieben werden sollen. Die Antwort All wendet das Überschreiben auch auf jede verbleibende Datei an. Wenn wir viele Dateien über vorhandene Dateien kopieren, ohne All zu antworten, wird für jede Datei mit demselben Namen eine Rückfrage angezeigt.

Es ist zu zeitaufwendig, dies für jede Datei zu bestätigen. Um dies zu vermeiden, müssen wir die Option /y mit dem obigen Befehl verwenden.

Dateien durch Überschreiben aller Dateien ohne Rückfrage im Batch kopieren

Führen Sie den folgenden Befehl aus, um Dateien ohne Rückfrage zum Überschreiben vorhandener Dateien zu kopieren.

xcopy C:\testfolder D:\testfolder /i /s /y

overwrite existing files(without prompt)

/y - unterdrückt die Rückfrage, die bestätigt, ob die vorhandenen Dateien am Ziel überschrieben werden sollen oder nicht, sodass jede vorhandene Datei automatisch überschrieben wird.

Dateien über ein Netzwerk im Batch kopieren

xcopy C:\Videos "\\server\media\videos" /s /i /z /w
  1. /s - kopiert Verzeichnisse, Unterverzeichnisse und Dateien innerhalb des zu kopierenden Ordners, sofern sie nicht leer sind.
  2. /i - zwingt xcopy, das Ziel als Verzeichnis anzunehmen, und erstellt ein neues Verzeichnis. Sie werden aufgefordert einzugeben, ob das Ziel eine Datei oder ein Verzeichnis ist, wenn diese Option nicht verwendet wird.
  3. /z - kopiert Dateien über ein Netzwerk im wiederaufnehmbaren Modus, d. h., wenn die Verbindung verloren geht, während eine Datei kopiert wird, wird der Kopiervorgang dieser Datei fortgesetzt, sobald die Verbindung wiederhergestellt ist. Es zeigt auch den Fertigstellungsgrad in Prozent an.
  4. /w - zeigt die Meldung Press any key to begin copying file(s) an und wartet auf Ihre Antwort, bevor der Kopiervorgang beginnt.

Wir haben also besprochen, wie alle vorhandenen Dateien ohne Anzeige einer Rückfrage überschrieben werden, während viele Dateien kopiert werden, d. h., alle Dateien werden überschrieben, ohne für jede Datei eine Rückfrage anzuzeigen.

Es gibt viele andere Optionen, die der Befehl xcopy bietet; Sie können sie überprüfen, indem Sie xcopy /? in der Eingabeaufforderung ausführen. Beachten Sie, dass Microsoft xcopy als veraltet eingestuft hat und für neue Skripte unter aktuellen Windows-Versionen robocopy empfiehlt, aber xcopy bleibt verfügbar und wird in vorhandenen Batch-Dateien weiterhin häufig verwendet.