Delen via


Xcopy

Kopieert bestanden en mappen, inclusief submappen.

Zie Voorbeelden voor voorbeelden van het gebruik van deze opdracht.

Syntaxis

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]

Parameterwaarden

Kenmerk Beschrijving
<Bron> Verplicht. 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 Negeert fouten.
/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 Hiermee maakt u ontsleutelde doelbestanden wanneer de bestemming geen ondersteuning biedt voor versleuteling.
/d [:MM-DD-JJJJ] 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 bestaande doelbestanden . Met deze opdrachtregeloptie kunt u bestanden bijwerken die zijn gewijzigd.
/u Hiermee kopieert u alleen bestanden uit de bron die op het doel aanwezig zijn.
/Ik 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. xcopy Standaard wordt u gevraagd of de bestemming een bestand of map is.
/ s Kopieert mappen en submappen, tenzij ze leeg zijn. Als u /s weglaat, xcopy werkt dit binnen één 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 kenmerk Alleen-lezen op doelbestanden als deze aanwezig zijn 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
/een Hiermee kopieert u alleen bronbestanden waarvoor hun archiefbestandskenmerken zijn ingesteld. /a wijzigt het archiefbestandskenmerk van het bronbestand niet. Zie Verwante koppelingen voor informatie over het instellen van het kenmerk archiefbestand met behulp van attrib.
/m Hiermee kopieert u bronbestanden waarvoor de kenmerken van het archiefbestand zijn ingesteld. In tegenstelling tot /a schakelt /m archiefbestandskenmerken uit in de bestanden die zijn opgegeven in de bron. Zie Verwante 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 naamconventie van het FAT-bestandssysteem (dat wil zeggen 8,3 tekens) vereist is op het doelbestandssysteem . Het doelbestandssysteem kan FAT of NTFS zijn.
/MT Kopieert eigendom van bestanden en discretionaire toegangsbeheerlijstgegevens (DACL).
/x Kopieert instellingen voor bestandscontrole en systeemtoegangsbeheerlijst (SACL) informatie (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 .obj-extensie uitgesloten.
/j Onderdrukt het vragen om te bevestigen dat u een bestaand doelbestand wilt overschrijven.
/-j 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.
/comprimeren Vraag waar van toepassing netwerkcompressie aan tijdens bestandsoverdracht.
/[-]schaars Hiermee wordt de sparsestatus van bestanden tijdens het kopieerproces ingeschakeld of uitgeschakeld. Als beide parameters zijn opgegeven, overschrijft /-sparse/sparse.
/geen kloon Het klonen wordt niet als optimalisatie geprobeerd.
/? Geeft hulp weer in de opdrachtprompt.

Opmerkingen

  • /z gebruiken

    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 weer van de kopieerbewerking voltooid voor elk bestand.

  • / y gebruiken in de omgevingsvariabele COPYCMD.

    U kunt /y gebruiken in de omgevingsvariabele COPYCMD. U kunt deze opdracht overschrijven met behulp van /-y op de opdrachtregel. 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.

  • Bestanden toevoegen

    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 de bestemming weglaat, kopieert de xcopy opdracht de bestanden naar de huidige map.

  • Opgeven of de bestemming een bestand of map is

    Als de bestemming 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 opdrachtregeloptie /i , waardoor xcopy wordt ervan uitgegaan dat de bestemming een map is als de bron meer dan één bestand of een map is.

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

    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 if-opdrachtregel in een batchprogramma. Zie Verwante koppelingen voor een voorbeeld van een batchprogramma waarmee afsluitcodes worden verwerkt. De volgende tabel bevat elke afsluitcode en een beschrijving.

    Afsluitcode Beschrijving
    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.

Voorbeelden

1. Als u alle bestanden en submappen (inclusief lege submappen) van station A naar station B wilt kopiëren, typt u:

xcopy a: b: /s /e

2. Als u systeem- of verborgen bestanden in het vorige voorbeeld wilt opnemen, voegt u de opdrachtregeloptie /h als volgt toe:

xcopy a: b: /s /e /h

3. Als u bestanden in de map \Reports wilt bijwerken met de bestanden in de map \Rawdata die zijn gewijzigd sinds 29 december 1993, typt u:

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

4. Als u alle bestanden in \Reports in het vorige voorbeeld wilt bijwerken, typt u:

xcopy \rawdata \reports /u

5. Als u een lijst wilt ophalen van de bestanden die moeten worden gekopieerd met de vorige opdracht (dat wil gezegd, 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 map \Customer en alle submappen wilt kopiëren naar de map \\Public\Address op netwerkstation H:, behoudt u het kenmerk Alleen-lezen en wordt u gevraagd wanneer er een nieuw bestand op H:wordt gemaakt, typt u:

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

7. Als u de vorige opdracht wilt uitvoeren, moet u ervoor zorgen dat xcopy de map \Address wordt gemaakt als deze niet bestaat en het bericht onderdrukken dat wordt weergegeven wanneer u een nieuwe map maakt, voegt u de opdrachtregeloptie /i 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 batch gebruiken als de opdracht om de afsluitcode 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 opdracht-interpreter vervangt C:\Prgmcode voor %1 en B: voor %2en gebruikt xcopy vervolgens met de opdrachtregelopties /e en /s . Als xcopy er een fout optreedt, leest het batchprogramma de afsluitcode en gaat het label dat is aangegeven in de juiste IF ERRORLEVEL-instructie . Vervolgens wordt het juiste bericht weergegeven en wordt het batchprogramma afgesloten.

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 vorige voorbeeld kopieert deze specifieke bronparameterwaarde .\toc*.yml dezelfde drie bestanden, zelfs als de twee padtekens zijn verwijderd.\ zijn verwijderd. Er worden echter geen bestanden gekopieerd als het jokerteken van het sterretje uit de bronparameter is verwijderd, waardoor het gewoon .\toc.yml.