Freigeben über


xcopy

Kopiert Dateien und Verzeichnisse, einschließlich Unterverzeichnissen.

Beispiele für die Verwendung dieses Befehls finden Sie unter Beispiele.

Syntax

xcopy <Source> [<Destination>] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d [:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]]] [{/y | /-y}] [/z] [/b] [/j] [/compress]

Die Parameter

Parameter BESCHREIBUNG
<Quelle> Erforderlich. Gibt den Speicherort und die Namen der Dateien an, die Sie kopieren möchten. Dieser Parameter muss entweder ein Laufwerk oder einen Pfad enthalten.
[<Ziel>] Gibt das Ziel der Zu kopierenden Dateien an. Dieser Parameter kann einen Laufwerkbuchstaben und Doppelpunkt, einen Verzeichnisnamen, einen Dateinamen oder eine Kombination dieser Parameter enthalten.
/w Zeigt die folgende Meldung an und wartet auf Ihre Antwort, bevor Sie mit dem Kopieren von Dateien beginnen:
Drücken Sie eine beliebige Taste, um mit dem Kopieren von Dateien zu beginnen.
/p Fordert Sie auf, zu bestätigen, ob Sie jede Zieldatei erstellen möchten.
/c Ignoriert Fehler.
/v Überprüft jede Datei, wie sie in die Zieldatei geschrieben wird, um sicherzustellen, dass die Zieldateien mit den Quelldateien identisch sind.
/q Unterdrückt die Anzeige von xcopy Nachrichten.
/f Zeigt beim Kopieren Quell- und Zieldateinamen an.
/l Generiert eine Liste von Dateien, die kopiert werden sollen, aber die Dateien nicht aktiv kopieren.
/g Erstellt entschlüsselte Zieldateien , wenn das Ziel keine Verschlüsselung unterstützt.
/d [:MM-DD-JJJJ] Kopiert Quelldateien, die nur an oder nach dem angegebenen Datum geändert wurden. Wenn Sie keinen MM-DD-JJJJ-Wert enthalten, werden alle Quelldateien kopiert, xcopy die neuer als vorhandene Zieldateien sind. Mit dieser Befehlszeilenoption können Sie Dateien aktualisieren, die sich geändert haben.
/u Kopiert Dateien aus der Quelle , die nur am Ziel vorhanden sind.
/Ich Wenn die Quelle ein Verzeichnis ist oder Wildcards enthält und das Ziel nicht vorhanden ist, wird davon ausgegangen, xcopy dass das Ziel einen Verzeichnisnamen angibt und ein neues Verzeichnis erstellt. Kopiert dann xcopy alle angegebenen Dateien in das neue Verzeichnis. Fordert Sie standardmäßig auf, anzugeben, xcopy ob das Ziel eine Datei oder ein Verzeichnis ist.
/s Kopiert Verzeichnisse und Unterverzeichnisse, es sei denn, sie sind leer. Wenn Sie /s weglassen, xcopy funktioniert dies innerhalb eines einzelnen Verzeichnisses.
/e Kopiert alle Unterverzeichnisse, auch wenn sie leer sind. Verwenden Sie "/e " mit den Befehlszeilenoptionen "/s " und "/t ".
/t Kopiert nur die Struktur des Unterverzeichnisses (d. h. die Struktur), nicht dateien. Um leere Verzeichnisse zu kopieren, müssen Sie die Befehlszeilenoption /e einschließen.
/k Kopiert Dateien und behält das schreibgeschützte Attribut für Zieldateien bei, wenn sie in den Quelldateien vorhanden sind. Entfernt standardmäßig xcopy das schreibgeschützte Attribut.
/r Kopiert schreibgeschützte Dateien.
/h Kopiert Dateien mit ausgeblendeten und Systemdateiattributen. Standardmäßig xcopy werden ausgeblendete oder Systemdateien nicht kopiert.
/ein Kopiert nur Quelldateien , deren Archivdateiattribute festgelegt sind. /a ändert das Archivdatei-Attribut der Quelldatei nicht. Informationen zum Festlegen des Archivdatei-Attributs mithilfe von Attrib finden Sie unter "Verwandte Links".
/m Kopiert Quelldateien , deren Archivdateiattribute festgelegt sind. Im Gegensatz zu /a deaktiviert /m Archivdateiattribute in den Dateien, die in der Quelle angegeben sind. Informationen zum Festlegen des Archivdatei-Attributs mithilfe von Attrib finden Sie unter "Verwandte Links".
/n Erstellt Kopien mithilfe der NTFS-Kurzdatei oder verzeichnisnamen. /n ist erforderlich, wenn Sie Dateien oder Verzeichnisse von einem NTFS-Volume auf ein FAT-Volume kopieren oder wenn die Benennungskonvention des FAT-Dateisystems (d. h. 8,3 Zeichen) im Zieldateisystem erforderlich ist. Das Zieldateisystem kann FAT oder NTFS sein.
/o Kopiert Dateibesitz- und Dacl-Informationen (File Ownership and Discretionary Access Control List).
/x Kopiert Dateiüberwachungseinstellungen und SACL-Informationen (System Access Control List) (impliziert /o).
/exclude:FileName1[+[FileName2]][+[FileName3]( )] Gibt eine Liste von Dateien an. Mindestens eine Datei muss angegeben werden. Jede Datei enthält Suchzeichenfolgen mit jeder Zeichenfolge in einer separaten Zeile in der Datei. Wenn eine der Zeichenfolgen einem Teil des absoluten Pfads der zu kopierenden Datei entspricht, wird diese Datei nicht kopiert. Wenn Sie z. B. die Zeichenfolge angeben , werden alle Dateien unter dem Verzeichnis-Obj oder alle Dateien mit der .obj-Erweiterung ausgeschlossen.
/y Unterdrückt die Eingabeaufforderung, um zu bestätigen, dass Sie eine vorhandene Zieldatei überschreiben möchten.
/-y Fordert auf, zu bestätigen, dass Sie eine vorhandene Zieldatei überschreiben möchten.
/z Kopiert über ein Netzwerk im neustartbaren Modus.
/b Kopiert den symbolischen Link anstelle der Dateien. Dieser Parameter wurde in Windows Vista® eingeführt.
/j Kopiert Dateien ohne Pufferung. Empfohlen für sehr große Dateien. Dieser Parameter wurde in Windows Server 2008 R2 hinzugefügt.
/komprimieren Fordern Sie ggf. die Netzwerkkomprimierung während der Dateiübertragung an.
/[-]sparse Aktiviert oder deaktiviert das Beibehalten des Sparse-Zustands von Dateien während der Kopiervorgangs. Wenn beide Parameter angegeben sind, überschreibt /-sparse /sparse.if both parameters are specified, /-sparse overrides /sparse.
/noclone Versucht nicht, das Klonen von Blöcken zu optimieren.
/? Zeigt die Hilfe an der Eingabeaufforderung an.

Bemerkungen

  • Verwenden von /z

    Wenn Die Verbindung während der Kopierphase verloren geht (z. B. wenn der Server offline geht, wird die Verbindung getrennt), wird sie fortgesetzt, nachdem Sie die Verbindung wieder hergestellt haben. /z zeigt auch den Prozentsatz des abgeschlossenen Kopiervorgangs für jede Datei an.

  • Verwenden von /y in der COPYCMD-Umgebungsvariable.

    Sie können /y in der COPYCMD-Umgebungsvariable verwenden. Sie können diesen Befehl überschreiben, indem Sie "/-y " in der Befehlszeile verwenden. Standardmäßig werden Sie aufgefordert, die Überschreibung zu überschreiben.

  • Kopieren verschlüsselter Dateien

    Das Kopieren verschlüsselter Dateien auf ein Volume, das EFS nicht unterstützt, führt zu einem Fehler. Entschlüsseln Sie die Dateien zuerst, oder kopieren Sie die Dateien auf ein Volume, das EFS unterstützt.

  • Anfügen von Dateien

    Wenn Sie Dateien anfügen möchten, geben Sie eine einzelne Datei für das Ziel an, aber mehrere Dateien für die Quelle (d. a. mithilfe von Wildcards oder file1+file2+file3-Format).

  • Standardwert für das Ziel

    Wenn Sie das Ziel weglassen, kopiert der xcopy Befehl die Dateien in das aktuelle Verzeichnis.

  • Angeben, ob das Ziel eine Datei oder ein Verzeichnis ist

    Wenn das Ziel kein vorhandenes Verzeichnis enthält und nicht mit einem umgekehrten Schrägstrich () endet, wird die folgende Meldung angezeigt:

    Does <Destination> specify a file name or directory name on the target(F = file, D = directory)?
    

    Drücken Sie F, wenn die Datei oder Die Dateien in eine Datei kopiert werden sollen. Drücken Sie D, wenn die Datei oder Dateien in ein Verzeichnis kopiert werden sollen.

    Sie können diese Meldung mithilfe der Befehlszeilenoption "/i " unterdrücken. Dies führt xcopy dazu, dass es sich bei dem Ziel um ein Verzeichnis handelt, wenn die Quelle mehr als eine Datei oder ein Verzeichnis ist.

  • Verwenden des Befehls zum Festlegen des xcopy Archivatributs für Zieldateien

    Der xcopy Befehl erstellt Dateien mit dem Archiv-Attributsatz, unabhängig davon, ob dieses Attribut in der Quelldatei festgelegt wurde. Weitere Informationen zu Dateiattributen und Attrib finden Sie unter "Verwandte Links".

  • Vergleich von xcopy und diskcopy

    Wenn Sie über einen Datenträger verfügen, der Dateien in Unterverzeichnissen enthält und sie auf einen Datenträger mit einem anderen Format kopieren möchten, verwenden Sie den xcopy Befehl anstelle von diskcopy. Da der diskcopy Befehl Datenträger nach "Nachverfolgen" kopiert, müssen Die Quell- und Zieldatenträger das gleiche Format aufweisen. Der xcopy Befehl hat diese Anforderung nicht. Verwenden Sie diese Anwendung xcopy , es sei denn, Sie benötigen eine vollständige Kopie des Datenträgerimages.

  • Nicht genügend Arbeitsspeicherfehler

    Ein Fehler "unzureichender Arbeitsspeicher" kann auftreten, wenn beim Kopieren einer Datei oder eines Ordners, deren Dateinamepfad größer als 255 Zeichen ist, ausgeführt xcopy wird.

  • Ausgangscodes für xcopy

    Verwenden Sie den ErrorLevel-Parameterin der Befehlszeile in einem Batchprogramm, um Beendigungscodes zu verarbeiten, die von xcopydiesem zurückgegeben werden. Ein Beispiel für ein Batchprogramm, das Exitcodes verarbeitet, die verwenden, finden Sie unter "Verwandte Links".For an example of a batch program that processes exit codes using if, see Related links. In der folgenden Tabelle sind die einzelnen Ausgangscode und eine Beschreibung aufgeführt.

    Exit Code BESCHREIBUNG
    0 Dateien wurden ohne Fehler kopiert.
    1 Es wurden keine Zu kopierenden Dateien gefunden.
    2 Der Benutzer hat STRG+C zum Beenden xcopygedrückt.
    4 Initialisierungsfehler. Es ist nicht genügend Arbeitsspeicher oder Speicherplatz vorhanden, oder Sie haben einen ungültigen Laufwerknamen oder eine ungültige Syntax in der Befehlszeile eingegeben.
    5 Fehler beim Schreiben des Datenträgers.

Beispiele

1. Um alle Dateien und Unterverzeichnisse (einschließlich aller leeren Unterverzeichnisse) von Laufwerk A auf Laufwerk B zu kopieren, geben Sie Folgendes ein:

xcopy a: b: /s /e

2. Um alle System- oder ausgeblendeten Dateien in das vorherige Beispiel einzuschließen, fügen Sie die Befehlszeilenoption "/h " wie folgt hinzu:

xcopy a: b: /s /e /h

3. Um Dateien im Verzeichnis \Reports mit den Dateien im Verzeichnis \Rawdata zu aktualisieren, die seit dem 29. Dezember 1993 geändert wurden, geben Sie Folgendes ein:

xcopy \rawdata \reports /d:12-29-1993

4. Um alle Dateien zu aktualisieren, die in \Reports im vorherigen Beispiel vorhanden sind, geben Sie unabhängig vom Datum Folgendes ein:

xcopy \rawdata \reports /u

5. Um eine Liste der Dateien abzurufen, die vom vorherigen Befehl kopiert werden sollen (d. h., ohne die Dateien tatsächlich zu kopieren), geben Sie Folgendes ein:

xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out

Die Datei "xcopy.out" listet jede Datei auf, die kopiert werden soll.

6. Um das Verzeichnis \Customer und alle Unterverzeichnisse in das Verzeichnis \\Public\Address auf dem Netzlaufwerk H:zu kopieren, behalten Sie das schreibgeschützte Attribut bei, und werden Sie aufgefordert, wenn eine neue Datei auf H:erstellt wird:

xcopy \customer h:\public\address /s /e /k /p

7. Um den vorherigen Befehl auszugeben, stellen Sie sicher, dass xcopy das Verzeichnis \Address erstellt wird, wenn es nicht vorhanden ist, und unterdrücken Sie die Meldung, die angezeigt wird, wenn Sie ein neues Verzeichnis erstellen, die Befehlszeilenoption "/i " wie folgt hinzu:

xcopy \customer h:\public\address /s /e /k /p /i

8. Sie können ein Batchprogramm erstellen, um Vorgänge auszuführen xcopy und den Batch zu verwenden , wenn der Befehl zum Verarbeiten des Beendigungscodes verwendet wird, wenn ein Fehler auftritt. Das folgende Batchprogramm verwendet beispielsweise ersetzbare Parameter für die xcopy Quell- und Zielparameter:

@echo off
rem COPYIT.BAT transfers all files in all subdirectories of
rem the source drive or directory (%1) to the destination
rem drive or directory (%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 to end the copy operation.
goto exit
:exit

Wenn Sie das vorherige Batchprogramm verwenden möchten, um alle Dateien im Verzeichnis "C:\Prgmcode" und deren Unterverzeichnisse zu Laufwerk B zu kopieren, geben Sie Folgendes ein:

copyit c:\prgmcode b:

Der Befehlsdolmetscher ersetzt C:\Prgmcode für %1 und B: für %2und verwendet xcopy dann die Befehlszeilenoptionen "/e " und "/s ". Wenn xcopy ein Fehler auftritt, liest das Batchprogramm den Beendigungscode und wechselt zur Bezeichnung, die in der entsprechenden IF ERRORLEVEL-Anweisung angegeben ist, und zeigt dann die entsprechende Meldung an und beendet aus dem Batchprogramm.

9. In diesem Beispiel werden alle nicht leeren Verzeichnisse sowie Dateien mit der zugehörigen Dateierweiterung nach dem Sternchen kopiert.

xcopy .\toc*.yml ..\..\Copy-To\ /S /Y

rem Output example.
rem  .\d1\toc.yml
rem  .\d1\d12\toc.yml
rem  .\d2\toc.yml
rem  3 File(s) copied

Im vorherigen Beispiel kopiert dieser spezielle Quellparameterwert .\toc*.yml dieselben drei Dateien, auch wenn die beiden Pfadzeichen entfernt wurden.\ Es würden jedoch keine Dateien kopiert, wenn der Sternchen-Wildcard aus dem Quellparameter entfernt wurde, sodass sie nur .\toc.yml.