Dela via


xcopy

Kopierar filer och kataloger, inklusive underkataloger.

Exempel på hur du använder det här kommandot finns i Exempel.

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
<Källa> Required. Anger platsen och namnen på de filer som du vill kopiera. Den här parametern måste innehålla antingen en enhet eller en sökväg.
[<Mål>] Anger målet för de filer som du vill kopiera. Den här parametern kan innehålla en enhetsbeteckning och ett kolon, ett katalognamn, ett filnamn eller en kombination av dessa.
/w Visar följande meddelande och väntar på ditt svar innan du börjar kopiera filer:
Tryck på valfri tangent för att börja kopiera filer
/p Uppmanar dig att bekräfta om du vill skapa varje målfil.
/c Ignores errors.
/v Verifierar varje fil när den skrivs till målfilen för att se till att målfilerna är identiska med källfilerna.
/q Undertrycker visning av xcopy meddelanden.
/f Visar käll- och målfilnamn vid kopiering.
/l Genererar en lista över filer som ska kopieras, men som inte aktivt kopierar filerna.
/g Skapar dekrypterade målfiler när målet inte stöder kryptering.
/d [:MM-DD-YYYY] Kopierar källfiler som ändrats på eller efter det angivna datumet. Om du inte tar med ett MM-DD-YYYY-värdexcopy kopieras alla källfiler som är nyare än befintliga målfiler . Med det här kommandoradsalternativet kan du uppdatera filer som har ändrats.
/u Kopierar filer från källan som endast finns på målet .
/i Om källan är en katalog eller innehåller jokertecken och målet inte finns, xcopy förutsätter att målet anger ett katalognamn och skapar en ny katalog. xcopy Kopierar sedan alla angivna filer till den nya katalogen. Som standard xcopy uppmanas du att ange om målet är en fil eller en katalog.
/s Kopierar kataloger och underkataloger, såvida de inte är tomma. Om du utelämnar /sxcopy fungerar det i en enda katalog.
/e Kopierar alla underkataloger, även om de är tomma. Använd /e med kommandoradsalternativen /s och /t .
/t Kopierar underkatalogstrukturen (dvs. trädet) endast, inte filer. Om du vill kopiera tomma kataloger måste du inkludera kommandoradsalternativet /e .
/k Kopierar filer och behåller det skrivskyddade attributet för målfilerna om det finns i källfilerna . Som standard xcopy tar bort det skrivskyddade attributet.
/r Kopierar skrivskyddade filer.
/h Kopierar filer med dolda och systemfilattribut. Kopierar som standard xcopy inte dolda filer eller systemfiler
/a Kopierar endast källfiler som har angett attributen för arkivfilen. /a ändrar inte attributet archive file för källfilen. Information om hur du anger attributet arkivfil med hjälp av attrib finns i Relaterade länkar.
/m Kopierar källfiler som har angett attribut för arkivfilen. Till skillnad från /a stänger /m av arkivfilattribut i de filer som anges i källan. Information om hur du anger attributet arkivfil med hjälp av attrib finns i Relaterade länkar.
/n Skapar kopior med hjälp av NTFS korta fil- eller katalognamn. /n krävs när du kopierar filer eller kataloger från en NTFS-volym till en FAT-volym eller när namngivningskonventionen för FAT-filsystemet (d.v.s. 8,3 tecken) krävs i målfilsystemet . Målfilsystemet kan vara FAT eller NTFS.
/o Kopierar filägarskap och dacl-information (discretionary access control list).
/x Kopierar filgranskningsinställningar och information om systemåtkomstkontrollista (SACL) (implicerar /o).
/exclude:FileName1[+[FileName2]][+[FileName3]( )] Anger en lista över filer. Minst en fil måste anges. Varje fil innehåller söksträngar med varje sträng på en separat rad i filen. När någon av strängarna matchar någon del av den absoluta sökvägen för filen som ska kopieras, undantas den filen från att kopieras. Om du till exempel anger strängen obj utesluts alla filer under katalogen obj eller alla filer med tillägget .obj .
/y Undertrycker uppmaningen att bekräfta att du vill skriva över en befintlig målfil.
/-y Uppmanas att bekräfta att du vill skriva över en befintlig målfil.
/z Kopierar över ett nätverk i omstartsbart läge.
/b Kopierar den symboliska länken i stället för filerna. Den här parametern introducerades i Windows Vista®.
/j Kopierar filer utan buffring. Rekommenderas för mycket stora filer. Den här parametern lades till i Windows Server 2008 R2.
/compress Begär nätverkskomprimering under filöverföring där det är tillämpligt.
/[-]sparse Aktiverar eller inaktiverar behåller det glesa tillståndet för filer under kopieringsprocessen. Om båda parametrarna anges /-sparse åsidosätter /sparse .
/noclone Försöker inte blockera kloning som en optimering.
/? Visar hjälp i kommandotolken.

Remarks

  • Using /z

    Om du förlorar anslutningen under kopieringsfasen (till exempel om servern som går offline bryter anslutningen) återupptas anslutningen när du har återupprättat anslutningen. /z visar också procentandelen av kopieringen som har slutförts för varje fil.

  • Använda /y i miljövariabeln COPYCMD.

    Du kan använda /y i miljövariabeln COPYCMD. Du kan åsidosätta det här kommandot med hjälp av /-y på kommandoraden. Som standard uppmanas du att skriva över.

  • Kopiera krypterade filer

    Att kopiera krypterade filer till en volym som inte stöder EFS resulterar i ett fel. Dekryptera filerna först eller kopiera filerna till en volym som stöder EFS.

  • Appending files

    Om du vill lägga till filer anger du en enskild fil för målet, men flera filer för källan (dvs. med jokertecken eller fil1+fil2+fil3-format).

  • Standardvärde för destination

    Om du utelämnar destination kopierar xcopy kommandot filerna till den aktuella katalogen.

  • Ange om målet är en fil eller katalog

    Om målet inte innehåller en befintlig katalog och inte slutar med ett omvänt snedstreck () visas följande meddelande:

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

    Tryck på F om du vill att filen eller filerna ska kopieras till en fil. Tryck på D om du vill att filen eller filerna ska kopieras till en katalog.

    Du kan ignorera det här meddelandet med hjälp av kommandoradsalternativet /i , vilket gör xcopy att du antar att målet är en katalog om källan är mer än en fil eller en katalog.

  • Använda kommandot xcopy för att ställa in arkivattribut för målfiler

    Kommandot xcopy skapar filer med arkivattributuppsättningen, oavsett om det här attributet har angetts i källfilen eller inte. Mer information om filattribut och attrib finns i Relaterade länkar.

  • Jämföra xcopy och diskcopy

    Om du har en disk som innehåller filer i underkataloger och du vill kopiera den till en disk som har ett annat format använder du xcopy kommandot i stället för diskcopy. diskcopy Eftersom kommandot kopierar diskar som spåras efter spår måste käll- och måldiskarna ha samma format. Kommandot xcopy har inte det här kravet. Använd xcopy om du inte behöver en fullständig diskbildkopia.

  • Otillräckligt minnesfel

    Ett "otillräckligt minne"-fel kan inträffa om du kör xcopy för att kopiera en fil eller mapp vars filnamnssökväg är större än 255 tecken.

  • Slutkoder för xcopy

    Om du vill bearbeta slutkoder som returneras av xcopyanvänder du parametern ErrorLevelkommandoraden if i ett batchprogram. Ett exempel på ett batchprogram som bearbetar slutkoder med hjälp av if finns i Relaterade länkar. I följande tabell visas varje slutkod och en beskrivning.

    Exit code Description
    0 Filer kopierades utan fel.
    1 Det går inte att kopiera några filer.
    2 Användaren tryckte på CTRL+C för att avsluta xcopy.
    4 Initieringsfel uppstod. Det finns inte tillräckligt med minne eller diskutrymme, eller så har du angett ett ogiltigt enhetsnamn eller ogiltig syntax på kommandoraden.
    5 Diskskrivningsfel uppstod.

Examples

1. Om du vill kopiera alla filer och underkataloger (inklusive tomma underkataloger) från enhet A till enhet B skriver du:

xcopy a: b: /s /e

2. För att inkludera ett system eller dolda filer i föregående exempel, lägg till kommandoradsalternativet /h enligt följande:

xcopy a: b: /s /e /h

3. Om du vill uppdatera filerna i katalogen \Reports med filerna i katalogen \Rawdata som har ändrats sedan den 29 december 1993 skriver du:

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

4. Om du vill uppdatera alla filer som finns i \Rapporter i föregående exempel, oavsett datum, skriver du:

xcopy \rawdata \reports /u

5. För att få en lista över filerna som ska kopieras av föregående kommando (det vill säga utan att faktiskt kopiera filerna), skriv:

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

Filen xcopy.out visar alla filer som ska kopieras.

6. Om du vill kopiera katalogen \Customer och alla underkataloger till katalogen \\Public\Address på nätverksenheten H:, behåller du det skrivskyddade attributet och uppmanas att göra en ny fil när en ny fil skapas på H: Skriv in:

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

7. Om du vill utfärda det tidigare kommandot ser du till att skapar katalogen \Address om den inte finns och ignorerar meddelandet som visas när du skapar en ny katalog genom att xcopy lägga till kommandoradsalternativet /i enligt följande:

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

8. Du kan skapa ett batchprogram för att utföra xcopy operationer och använda batch if-kommandot för att bearbeta slutkoden om ett fel inträffar. Följande batchprogram använder till exempel utbytbara parametrar för xcopy käll- och målparametrarna:

@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

Om du vill använda föregående batchprogram för att kopiera alla filer i katalogen C:\Prgmcode och dess underkataloger för att köra B skriver du:

copyit c:\prgmcode b:

Kommandotolken ersätter %1 med C:\Prgmcode och B: med %2och använder xcopy sedan kommandoradsalternativen /e och /s. Om xcopy ett fel påträffas läser batchprogrammet slutkoden och går till den etikett som anges i lämplig IF ERRORLEVEL-sats , visar sedan lämpligt meddelande och avslutar batchprogrammet.

9. I det här exemplet kopieras alla kataloger som inte är tomma, plus filer med det associerade filtillägget efter asterisksymbolen.

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

I föregående exempel kopierar det här källparametervärdet .\toc*.yml samma 3 filer även om dess två sökvägstecken .\ togs bort. Inga filer skulle dock kopieras om jokertecknet asterisk togs bort från parametern source, vilket gjorde att det bara är .\toc.yml.