Anmerkungen Beispiele
Kopiert Dateien (ausgenommen versteckte Dateien und Systemdateien) und
Verzeichnisse einschließlich deren Unterverzeichnisse.
Mit diesem Befehl können Sie alle Dateien eines Verzeichnisses
einschließlich der Dateien kopieren, die sich in den Unterverzeichnissen
dieses Verzeichnisses befinden.
Syntax
XCOPY Quelle [Ziel] [/Y|/-Y] [/A|/M] [/D:Datum] [/P] [/S] [/E] [/V] [/W]
Parameter
Quelle
Gibt die Pfadbeschreibung und die Namen der Dateien an, die Sie kopieren
möchten. Quelle muss entweder eine Laufwerkbezeichnung oder eine Pfadangabe enthalten.
Ziel
Gibt an, wohin Sie die Dateien kopieren möchten. Ziel kann aus einem
Laufwerkbuchstaben und einem Doppelpunkt, einem Verzeichnisnamen, einem
Dateinamen oder einer Kombination dieser Angaben bestehen.
Optionen
/Y
Gibt an, dass vorhandene, gleichnamige Dateien beim Verschieben mit dem
Befehl XCOPY ohne vorherige Bestätigung überschrieben werden sollen.
Wenn die angegebene Zieldatei bereits existiert, fordert Sie XCOPY als
Standardvorgabe dazu auf, das Überschreiben der vorhandenen Datei zu
bestätigen. (Bei früheren MS-DOS-Versionen wurden gleichnamige Dateien
einfach überschrieben.) Beim Aufruf aus einer Stapelverarbeitungsdatei
verhält sich XCOPY Dateien wie bei früheren Versionen. Bei der Angabe
dieser Option werden alle Standardeinstellungen sowie die aktuelle
Einstellung der Umgebungsvariablen COPYCMD außer Kraft gesetzt.
/-Y
Gibt an, dass XCOPY Sie vor dem Überschreiben einer vorhandenen Datei zur
Bestätigung auffordern soll. Bei der Angabe dieser Option werden alle
Standardeinstellungen sowie die aktuelle Einstellung der
Umgebungsvariablen COPYCMD außer Kraft gesetzt.
/A
Kopiert nur solche Quelldateien, deren Dateiattribut "Archiv" gesetzt
ist. Diese Option führt nicht dazu, dass die "Archiv"-Dateiattribute der
Quelldateien geändert werden. Informationen darüber, wie das
Dateiattribut "Archiv" gesetzt wird, finden Sie bei dem Befehl
Attrib.
/M
Kopiert nur solche Quelldateien, deren Dateiattribut "Archiv" gesetzt
ist. Im Gegensatz zu der Option /A bewirkt die Option /M, dass die
"Archiv"-Dateiattribute der in Quelle angegebenen Dateien deaktiviert
werden. Informationen darüber, wie das Dateiattribut "Archiv" gesetzt
wird, finden Sie bei dem Befehl Attrib.
/D:Datum
Kopiert nur solche Quelldateien, die an oder nach dem angegebenen Datum
geändert wurden. Beachten Sie bitte, dass das Format von Datum davon
abhängt, mit welchem Landescode (eingestellt mit COUNTRY) Sie arbeiten.
/P
Fordert Sie für jede Zieldatei auf, zu bestätigen, dass sie erstellt werden soll.
/S
Kopiert Verzeichnisse und Unterverzeichnisse, sofern sie nicht leer
sind. Wenn Sie diese Option nicht angeben, funktioniert XCOPY nur für ein Verzeichnis.
/E
Kopiert alle Unterverzeichnisse, auch wenn diese leer sind. Dieser
Optionen muss zusammen mit der Option /S eingesetzt werden.
/V
Sorgt dafür, dass jede Datei, während sie in die Zieldatei geschrieben
wird, überprüft wird. Damit ist sichergestellt, dass Quell- und Zieldateien identisch sind.
/W
Sorgt dafür, dass XCOPY die folgende Meldung anzeigt und erst dann mit
dem Kopieren der Dateien beginnt, wenn Sie entsprechend reagiert haben:
Eine beliebige Taste drücken, um das Kopieren der Datei(en) zu starten.
Verwandter Befehl
Informationen darüber, wie einzelne Dateien kopiert werden, finden Sie bei
dem Befehl Copy.
Informationen darüber, wie ganze Disketten kopiert werden, finden Sie bei dem Befehl
Diskcopy.
Anmerkungen
Die Voreinstellung des Parameters Ziel
Wenn Sie Ziel nicht angeben, kopiert der Befehl XCOPY die entsprechenden
Dateien in das aktuelle Verzeichnis.
Angeben, ob Ziel eine Datei oder ein Verzeichnis ist
Umfasst der Parameter Ziel kein vorhandenes Verzeichnis, und endet er nicht
mit einem umgekehrten Schrägstrich (\), fordert XCOPY Sie mit der folgenden
Meldung zu einer Eingabe auf:
Ist das Ziel ein Dateiname oder ein Verzeichnisname
(D = Datei, V = Verzeichnis) ?
Drücken Sie die Taste D, wenn die Dateien in eine Datei kopiert werden
sollen. Drücken Sie die Taste V, wenn die Dateien in ein Verzeichnis kopiert
werden sollen.
Festlegen des Wertes für die Umgebungsvariable COPYCMD
Mit dem Wert für die Umgebungsvariable- COPYCMD können Sie festlegen, dass
Sie bei der Arbeit mit den Befehlen COPY, MOVE und XCOPY vor dem
Überschreiben einer Datei generell zur Bestätigung aufgefordert werden.
Diese Einstellung gilt für den Aufruf dieser Befehle an der
Eingabeaufforderung und aus einer Stapelverarbeitungsdatei.
Damit Sie vor dem Überschreiben von Dateien mit den Befehlen COPY, MOVE und
XCOPY generell zur Bestätigung aufgefordert werden, weisen Sie der
Umgebungsvariablen COPYCMD den Wert /-Y zu. Wenn Dateien mit diesen Befehlen
generell ohne vorherige Bestätigung überschrieben werden sollen, weisen Sie
der Umgebungsvariablen COPYCMD den Wert /Y zu.
Beim Aufruf dieser Befehle mit der Option /Y oder /-Y werden alle
Standardeinstellungen sowie die aktuelle Einstellung der Umgebungsvariablen
COPYCMD ausser Kraft gesetzt.
XCOPY kopiert keine versteckten Dateien und keine Systemdateien
Die XCOPY-Befehle älterer MS-DOS-Versionen kopieren auch versteckte Dateien
und Systemdateien. Dies trifft für MS-DOS 6.22 nicht zu. Um das Attribut
"Versteckt" (H=hidden) oder "System" zu löschen, verwenden Sie den Befehl
Attrib.
XCOPY setzt bei Zieldateien das Attribut "Archiv"
Für alle von XCOPY erstellten Dateien ist das Attribut "Archiv" gesetzt, und
zwar unabhängig davon, ob es bereits für die Quelldatei gesetzt war. Weitere
Informationen zu Attributen finden Sie bei dem Befehl ATTRIB.
XCOPY kontra DISKCOPY
Möchten Sie Dateien, die in Unterverzeichnissen abgelegt sind, von ihrem
ursprünglichen Datenträger auf einen Datenträger kopieren, der anders
formatiert ist, sollten Sie den Befehl XCOPY und nicht den Befehl DISKCOPY
einsetzen. Da der Befehl DISKCOPY Datenträger spurweise kopiert, ist es für
diesen Befehl unverzichtbar, dass der Quell- und der Zieldatenträger dasselbe
Format haben. Für XCOPY ist dies nicht erforderlich. Meist empfiehlt es
sich, mit XCOPY zu arbeiten, es sei denn, Sie benötigen eine
Eins-zu-eins-Kopie eines Datenträgers. XCOPY kopiert allerdings keine
versteckten Dateien oder Systemdateien (wie zum Beispiel IO.SYS und
MSDOS.SYS). Systemdisketten sollten Sie daher mit DISKCOPY erstellen.
Die Beendigungscodes von XCOPY
In der folgenden Liste sind die möglichen Beendigungscodes aufgeführt und
kurz erläutert:
0 Die Dateien wurden fehlerfei kopiert.
1 Es wurden keine zu kopierenden Dateien gefunden.
2 Der Benutzer hat XCOPY durch Drücken von STRG+C beendet.
4 Es trat ein Initialisierungsfehler auf. Mögliche Ursachen: Es ist nicht genügend Arbeitsspeicher
vorhanden; die Kapazität des Datenträgers reicht nicht aus;
Sie haben einen unzulässigen Dateinamen eingegeben;
Sie haben in der Befehlszeile eine unzulässige Syntax verwendet.
5 Es ist ein Schreibfehler aufgetreten.
Indem Sie innerhalb eines Stapelverarbeitungsprogramms in einer
IF-Befehlszeile den Parameter ERRORLEVEL einsetzen, können Sie die von XCOPY
zurückgegebenen Beendigungscodes auswerten. Weitere Informationen finden Sie
unter dem Befehl Beispiele.
Beispiele
In dem folgenden Beispiel werden alle Dateien und Unterverzeichnisse
(einschließlich der leeren Unterverzeichnisse), die sich auf der in das
Laufwerk A: eingelegten Diskette befinden, auf die in das Laufwerk B:
eingelegte Diskette kopiert:
xcopy a: b: /s /e
In dem folgenden Beispiel werden die Optionen /D: und /V eingesetzt:
xcopy a: b: /d:04.01.93 /s /v
In diesem Beispiel werden nur solche Dateien von der in das Laufwerk A:
eingelegten Diskette auf die in das Laufwerk B: eingelegte Diskette kopiert,
die am oder nach dem 04.01.93 geschrieben wurden. Sobald die Dateien auf die
in das Laufwerk B: eingelegte Diskette kopiert sind, vergleicht der Befehl
XCOPY die auf den beiden Disketten befindlichen Dateien daraufhin, ob sie
identisch sind.
Sie können einen XCOPY-Befehl, der bestimmte Parameter und Optionen
einsetzen soll, mit Hilfe einer Stapelverarbeitungsdatei auszuführen. Damit
eröffnet sich die Möglichkeit, auf eventuell auftretende Fehler zu
reagieren, indem der jeweilige Beendigungscode mit einem
IF-Stapelverarbeitungsbefehl verarbeitet wird. In dem folgenden
Stapelverarbeitungsprogramm werden beispielsweise anstelle der
XCOPY-Parameter Ziel und Quelle ersetzbare Parameter eingesetzt:
@echo off
rem KOPIEREN.BAT überträgt alle Quelldateien
rem aller Verzeichnisse des im Quellaufwerk (%1)
rem befindlichen Datenträgers auf den im
rem Ziellaufwerk (%2) befindlichen Datenträger.
xcopy %1 %2 /s /e
if errorlevel 4 goto wenig_speicher
if errorlevel 2 goto abbrechen
if errorlevel 0 goto beenden
:wenig_speicher
echo Zu wenig Arbeitsspeicher, um die Dateien zu kopieren,
echo unzulässige Laufwerkangabe oder unzulässige
echo Syntax in der Befehlszeile.
goto beenden
:abbrechen
echo Sie haben STRG+C gedrückt, um den Kopiervorgang abzubrechen.
goto beenden
:beenden
Um mit diesem Stapelverarbeitungsprogramm alle Dateien, die sich in dem
Verzeichnis C:\PROGRAMM und in dessen Unterverzeichnissen befinden, auf die
in das Laufwerk B: eingelegte Diskette zu kopieren, geben Sie folgenden
Befehl ein:
kopieren c:\programm b:
Der Befehlsinterpreter ersetzt %1 durch C:\PROGRAMM und %2 durch B: und ruft
XCOPY danach mit die Optionen /E und /S auf. Entdeckt XCOPY einen Fehler,
liest das Stapelverarbeitungsprogramm den jeweiligen Beendigungscode und
springt zu der Marke, die die entsprechende IF ERRORLEVEL-Anweisung angibt.
MS-DOS zeigt dann die zugehörige Meldung an und beendet das
Stapelverarbeitungsprogramm.
|