Delen via


xcopy

Kopieert bestanden en mappen, inclusief submappen.

Zie Voorbeelden voor voorbeelden van het gebruik van deze opdracht.

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]

Parameters

Parameter Description
<Bron> Required. Hiermee geeft u de locatie en namen van de bestanden die u wilt kopiëren. Deze parameter moet een station of een pad bevatten.
[<Bestemming>] Hiermee geeft u de bestemming van de bestanden die u wilt kopiëren. Deze parameter kan een stationsletter en dubbele punt, een mapnaam, een bestandsnaam of een combinatie hiervan bevatten.
/w Geeft het volgende bericht weer en wacht op uw antwoord voordat u begint met het kopiëren van bestanden:
Druk op een willekeurige toets om te beginnen met het kopiëren van bestanden
/p U wordt gevraagd om te bevestigen of u elk doelbestand wilt maken.
/c Ignores errors.
/v Controleert elk bestand zoals het naar het doelbestand wordt geschreven om ervoor te zorgen dat de doelbestanden identiek zijn aan de bronbestanden.
/q Onderdrukt de weergave van xcopy berichten.
/f Geeft bron- en doelbestandsnamen weer tijdens het kopiëren.
/l Hiermee wordt een lijst gegenereerd met bestanden die moeten worden gekopieerd, maar de bestanden niet actief worden gekopieerd.
/g Maakt gedecodeerde doelbestanden wanneer de bestemming geen versleuteling ondersteunt.
/d [:MM-DD-YYYY] Bronbestanden die zijn gewijzigd op of na de opgegeven datum, worden alleen gekopieerd. Als u geen MM-DD-JJJJ-waarde opneemt, xcopy kopieert u alle bronbestanden die nieuwer zijn dan de bestaande doelbestanden . Met deze opdrachtregeloptie kunt u bestanden bijwerken die zijn gewijzigd.
/u Kopieert bestanden van de bron die alleen op de bestemming bestaan.
/i Als de bron een map is of jokertekens bevat en de bestemming niet bestaat, xcopy wordt ervan uitgegaan dat de bestemming een mapnaam opgeeft en een nieuwe map maakt. xcopy Kopieert vervolgens alle opgegeven bestanden naar de nieuwe map. Standaard xcopy wordt u gevraagd op te geven of het doel een bestand of een map is.
/s Kopieert mappen en submappen, tenzij ze leeg zijn. Als u /s weglaat, xcopy werkt binnen een enkele map.
/e Kopieert alle submappen, zelfs als ze leeg zijn. Gebruik /e met de opdrachtregelopties /s en /t .
/t Kopieert alleen de submapstructuur (dat wil gezegd, de structuur) en niet bestanden. Als u lege mappen wilt kopiëren, moet u de opdrachtregeloptie /e opnemen.
/k Kopieert bestanden en behoudt het alleen-lezen kenmerk op doelbestanden , indien aanwezig op de bronbestanden . xcopy Hiermee verwijdert u standaard het kenmerk Alleen-lezen.
/r Kopieert alleen-lezenbestanden.
/h Hiermee kopieert u bestanden met verborgen en systeembestandskenmerken. xcopy Standaard worden er geen verborgen bestanden of systeembestanden gekopieerd
/a Kopieert alleen bronbestanden waarvoor de kenmerken van het archiefbestand zijn ingesteld. /a wijzigt het kenmerk archiefbestand van het bronbestand niet. Zie Gerelateerde koppelingen voor informatie over het instellen van het kenmerk archiefbestand met behulp van attrib.
/m Kopieert bronbestanden waarvoor de kenmerken van het archiefbestand zijn ingesteld. In tegenstelling tot /a schakelt /m de kenmerken van archiefbestanden uit in de bestanden die in de bron zijn opgegeven. Zie Gerelateerde koppelingen voor informatie over het instellen van het kenmerk archiefbestand met behulp van attrib.
/n Hiermee maakt u kopieën met behulp van de korte NTFS-bestands- of mapnamen. /n is vereist wanneer u bestanden of mappen kopieert van een NTFS-volume naar een FAT-volume of wanneer de naamgevingsconventie van het FAT-bestandssysteem (d.w.z. 8,3 tekens) vereist is op het doelbestandssysteem . Het doelbestandssysteem kan FAT of NTFS zijn.
/o Kopieert eigendom van bestanden en discretionaire toegangsbeheerlijstgegevens (DACL).
/x Kopieert de auditinstellingen van het bestand en informatie over de System Access Control List (SACL) (impliceert /o).
/exclude:FileName1[+[FileName2]][+[FileName3]( )] Hiermee geeft u een lijst met bestanden. Er moet ten minste één bestand worden opgegeven. Elk bestand bevat zoekreeksen met elke tekenreeks op een afzonderlijke regel in het bestand. Wanneer een van de tekenreeksen overeenkomt met een deel van het absolute pad van het te kopiëren bestand, wordt dat bestand uitgesloten van het kopiëren. Als u bijvoorbeeld de tekenreeks obj opgeeft, worden alle bestanden onder de map obj of alle bestanden met de extensie .obj uitgesloten.
/y Onderdrukt het vragen om te bevestigen dat u een bestaand doelbestand wilt overschrijven.
/-y Vragen om te bevestigen dat u een bestaand doelbestand wilt overschrijven.
/z Kopieën via een netwerk in de herstartbare modus.
/b Kopieert de symbolische koppeling in plaats van de bestanden. Deze parameter is geïntroduceerd in Windows Vista®.
/j Kopieert bestanden zonder buffering. Aanbevolen voor zeer grote bestanden. Deze parameter is toegevoegd in Windows Server 2008 R2.
/compress Vraag waar van toepassing netwerkcompressie aan tijdens bestandsoverdracht.
/[-]sparse Hiermee wordt de sparsestatus van bestanden tijdens het kopieerproces ingeschakeld of uitgeschakeld. Als beide parameters zijn opgegeven, overschrijft /-sparse/sparse.
/noclone Het klonen wordt niet als optimalisatie geprobeerd.
/? Geeft hulp weer in de opdrachtprompt.

Remarks

  • Using /z

    Als u de verbinding tijdens de kopieerfase verliest (bijvoorbeeld als de server offline gaat, wordt de verbinding hervat nadat u de verbinding hebt hersteld. /z geeft ook het percentage van de kopieerbewerking weer dat voor elk bestand is voltooid.

  • Gebruik /y in de omgevingsvariabele COPYCMD.

    U kunt /y gebruiken in de omgevingsvariabele COPYCMD. U kunt dit commando overschrijven door /-y op de opdrachtregel te gebruiken. Standaard wordt u gevraagd om te overschrijven.

  • Versleutelde bestanden kopiëren

    Het kopiëren van versleutelde bestanden naar een volume dat EFS niet ondersteunt, resulteert in een fout. Ontsleutel de bestanden eerst of kopieer de bestanden naar een volume dat EFS ondersteunt.

  • Appending files

    Als u bestanden wilt toevoegen, geeft u één bestand op voor bestemming, maar meerdere bestanden voor de bron (dat wil bijvoorbeeld met behulp van jokertekens of file1+file2+3-indeling).

  • Standaardwaarde voor bestemming

    Als u het doel weglaat, kopieert de xcopy opdracht de bestanden naar de huidige map.

  • Opgeven of het doel een bestand of map is

    Als het doel geen bestaande map bevat en niet eindigt op een backslash (), wordt het volgende bericht weergegeven:

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

    Druk op F als u het bestand of de bestanden wilt kopiëren naar een bestand. Druk op D als u het bestand of de bestanden wilt kopiëren naar een map.

    U kunt dit bericht onderdrukken met behulp van de / i opdrachtregeloptie, waardoor xcopy wordt aangenomen dat het doel een map is als de bron meer dan één bestand of een map is.

  • xcopy De opdracht gebruiken om het archiefkenmerk voor doelbestanden in te stellen

    Met xcopy de opdracht worden bestanden gemaakt met de archiefkenmerkset, ongeacht of dit kenmerk is ingesteld in het bronbestand. Zie Verwante koppelingen voor meer informatie over bestandskenmerken en attrib.

  • Vergelijking van xcopy en diskcopy

    Als u een schijf hebt die bestanden in submappen bevat en u deze wilt kopiëren naar een schijf met een andere indeling, gebruikt u de xcopy opdracht in plaats van diskcopy. Omdat met de diskcopy opdracht schijven bijhouden worden gekopieerd, moeten de bron- en doelschijven dezelfde indeling hebben. De xcopy opdracht heeft deze vereiste niet. Gebruik xcopy dit, tenzij u een volledige kopie van de schijfinstallatiekopie nodig hebt.

  • Onvoldoende geheugenfout

    Er kan een fout met onvoldoende geheugen optreden als xcopy u een bestand of map kopieert waarvan het bestandspad groter is dan 255 tekens.

  • Afsluitcodes voor xcopy

    Als u afsluitcodes wilt verwerken die worden geretourneerd door xcopy, gebruikt u de parameter ErrorLevel op de opdrachtregel if in een batchprogramma. Zie Gerelateerde koppelingen voor een voorbeeld van een batchprogramma dat afsluitcodes verwerkt met behulp van if. De volgende tabel bevat elke afsluitcode en een beschrijving.

    Exit code Description
    0 Bestanden zijn zonder fouten gekopieerd.
    1 Er zijn geen bestanden gevonden om te kopiëren.
    2 De gebruiker heeft ctrl+C ingedrukt om te beëindigen xcopy.
    4 Er is een initialisatiefout opgetreden. Er is onvoldoende geheugen of schijfruimte, of u hebt een ongeldige stationsnaam of ongeldige syntaxis op de opdrachtregel ingevoerd.
    5 Er is een schijfschrijffout opgetreden.

Examples

1. Typ het volgende om alle bestanden en submappen (inclusief lege submappen) van station A naar station B te kopiëren:

xcopy a: b: /s /e

2. Om systeem- of verborgen bestanden in het vorige voorbeeld op te nemen, voegt u de /h-opdrachtregeloptie als volgt toe:

xcopy a: b: /s /e /h

3. Typ het volgende om bestanden in de map \Reports bij te werken met de bestanden in de map \Rawdata die sinds 29 december 1993 zijn gewijzigd:

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

4. Als u alle bestanden wilt bijwerken die in \Reports in het vorige voorbeeld staan, ongeacht de datum, typt u:

xcopy \rawdata \reports /u

5. Om een lijst te krijgen van de bestanden die met de vorige opdracht moeten worden gekopieerd (dat wil zeggen, zonder de bestanden daadwerkelijk te kopiëren), typt u:

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

Het bestand xcopy.out bevat elk bestand dat moet worden gekopieerd.

6. Als u de \Customer directory en alle submappen wilt kopiëren naar de directory \\Public\Address op netwerkstation H:, behoudt u het alleen-lezen attribuut en wordt u gevraagd wanneer een nieuw bestand wordt gemaakt op H:, typt u:

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

7. Om de vorige opdracht uit te voeren, zorgt u ervoor dat xcopy de \Address directory wordt aangemaakt als deze niet bestaat, en onderdruk het bericht dat verschijnt wanneer u een nieuwe directory maakt, voeg de /i opdrachtregeloptie als volgt toe:

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

8. U kunt een batchprogramma maken om bewerkingen uit te voeren xcopy en de opdracht batch if gebruiken om de exitcode te verwerken als er een fout optreedt. In het volgende batchprogramma worden bijvoorbeeld vervangbare parameters gebruikt voor de xcopy bron- en doelparameters:

@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

Als u het voorgaande batchprogramma wilt gebruiken om alle bestanden in de map C:\Prgmcode en de bijbehorende submappen te kopiëren naar station B, typt u:

copyit c:\prgmcode b:

De opdrachtinterpreter vervangt C:\Prgmcode door %1 en B: door %2en gebruikt xcopy vervolgens met de opdrachtregelopties /e en /s . Als xcopy er een fout optreedt, leest het batchprogramma de exit-code en gaat het naar het label dat wordt aangegeven in de juiste IF ERRORLEVEL-instructie , geeft vervolgens het juiste bericht weer en verlaat het batchprogramma.

9. In dit voorbeeld worden alle niet-lege mappen gekopieerd, plus bestanden met de bijbehorende bestandsextensie na het sterretje.

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

In het voorgaande voorbeeld kopieert deze specifieke bronparameterwaarde .\toc*.yml dezelfde 3 bestanden, zelfs als de twee padtekens .\ zijn verwijderd. Er worden echter geen bestanden gekopieerd als het sterretje jokerteken wordt verwijderd uit de bronparameter, waardoor het slechts .\toc.yml. wordt.