MS-DOS 6.22 Xcopy

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.

Anzeigen: