Sdílet prostřednictvím


xcopy

Zkopíruje soubory a adresáře včetně podadresářů.

Příklady použití tohoto příkazu naleznete v části Příklady.

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
<Zdroj> Required. Určuje umístění a názvy souborů, které chcete kopírovat. Tento parametr musí obsahovat jednotku nebo cestu.
[<Cíl>] Určuje cíl souborů, které chcete kopírovat. Tento parametr může obsahovat písmeno jednotky a dvojtečku, název adresáře, název souboru nebo jejich kombinaci.
/w Zobrazí následující zprávu a před zahájením kopírování souborů počká na odpověď:
Stisknutím libovolné klávesy zahájíte kopírování souborů.
/p Zobrazí výzvu k potvrzení, jestli chcete vytvořit každý cílový soubor.
/c Ignores errors.
/v Ověřuje každý soubor při zápisu do cílového souboru, aby se zajistilo, že cílové soubory jsou identické se zdrojovými soubory.
/q Potlačí zobrazení xcopy zpráv.
/f Při kopírování se zobrazí názvy zdrojových a cílových souborů.
/l Vygeneruje seznam souborů, které se mají zkopírovat, ale soubory se aktivně nekopírují.
/g Vytvoří dešifrované cílové soubory, pokud cíl nepodporuje šifrování.
/d [:MM-DD-YYYY] Zkopíruje zdrojové soubory změněné pouze po zadaném datu nebo po tomto datu. Pokud nezahrnete hodnotu MM-DD-RRRR, zkopírují se všechny zdrojové soubory, xcopy které jsou novější než existující cílové soubory. Tato možnost příkazového řádku umožňuje aktualizovat změněné soubory.
/u Zkopíruje soubory ze zdroje , které existují pouze v cílovém umístění .
/i Pokud je source adresář nebo obsahuje zástupné znaky a destination neexistuje, předpokládá se, xcopyže destination určuje název adresáře a vytvoří nový adresář. xcopy Potom zkopírujte všechny zadané soubory do nového adresáře. Ve výchozím nastavení se zobrazí výzva k určení, xcopy zda je cílem soubor nebo adresář.
/s Zkopíruje adresáře a podadresáře, pokud nejsou prázdné. Pokud parametr /s vynecháte, xcopy bude fungovat v rámci jednoho adresáře.
/e Zkopíruje všechny podadresáře, i když jsou prázdné. Použijte parametr /e s možnostmi příkazového řádku /s a /t .
/t Zkopíruje pouze strukturu podadresáře (tj. strom), nikoli soubory. Chcete-li kopírovat prázdné adresáře, je nutné zahrnout parametr příkazového řádku /e .
/k Zkopíruje soubory a zachová atribut pouze pro čtení v cílových souborech, pokud je ve zdrojových souborech přítomen. Ve výchozím nastavení xcopy odebere atribut jen pro čtení.
/r Zkopíruje soubory jen pro čtení.
/h Zkopíruje soubory se skrytými a systémovými atributy souborů. Ve výchozím nastavení xcopy nekopíruje skryté nebo systémové soubory.
/a Zkopíruje pouze zdrojové soubory, které mají nastavené atributy archivního souboru. Parametr /a nezmění atribut archivního souboru zdrojového souboru. Informace o tom, jak nastavit atribut archivního souboru pomocí atributu attrib, naleznete v tématu Související odkazy.
/m Zkopíruje zdrojové soubory, které mají nastavené atributy archivního souboru. Na rozdíl od /aparametr /m vypne atributy archivních souborů v souborech, které jsou určeny ve zdroji. Informace o tom, jak nastavit atribut archivního souboru pomocí atributu attrib, naleznete v tématu Související odkazy.
/n Vytvoří kopie pomocí krátkých názvů souborů NTFS nebo adresářů. Parametr /n je vyžadován při kopírování souborů nebo adresářů ze svazku NTFS na svazek FAT nebo pokud je v cílovém souborovém systému vyžadována konvence pojmenování systému souborů FAT (tj. 8,3 znaků). Cílovým souborovým systémem může být FAT nebo NTFS.
/o Zkopíruje vlastnictví souboru a volitelné informace o seznamu řízení přístupu (DACL).
/x Kopíruje nastavení auditu souboru a informace ze seznamu řízení přístupu k systému (SACL) (implikuje /o).
/exclude:FileName1[+[FileName2]][+[FileName3]( )] Určuje seznam souborů. Musí být zadán alespoň jeden soubor. Každý soubor obsahuje vyhledávací řetězce s každým řetězcem na samostatném řádku v souboru. Pokud některý z řetězců odpovídá jakékoli části absolutní cesty k souboru, který se má zkopírovat, je tento soubor vyloučen z kopírování. Například zadáním řetězce obj vyloučíte všechny soubory v adresáři obj nebo všechny soubory s příponou .obj .
/y Potlačí výzvu k potvrzení, že chcete přepsat existující cílový soubor.
/-y Zobrazí se výzva k potvrzení, že chcete přepsat existující cílový soubor.
/z Kopíruje přes síť v režimu restartování.
/b Zkopíruje symbolický odkaz místo souborů. Tento parametr byl představen v systému Windows Vista®.
/j Zkopíruje soubory bez ukládání do vyrovnávací paměti. Doporučuje se pro velmi velké soubory. Tento parametr byl přidán v systému Windows Server 2008 R2.
/compress Pokud je to možné, požádejte o kompresi sítě.
/[-]sparse Povolí nebo zakáže zachování zhuštěného stavu souborů během procesu kopírování. Pokud jsou zadány oba parametry, /-sparse přepíše /sparse.
/noclone Nepokouší se blokovat klonování jako optimalizace.
/? Zobrazí nápovědu na příkazovém řádku.

Remarks

  • Using /z

    Pokud během fáze kopírování ztratíte připojení (například pokud server přejde do offline režimu připojení), obnoví se po opětovném publikování připojení. /z také zobrazuje procentuální hodnotu operace kopírování dokončené pro každý soubor.

  • Použití parametru /y v proměnné prostředí COPYCMD.

    Parametr /y můžete použít v proměnné prostředí COPYCMD. Tento příkaz můžete přepsat pomocí parametru /-y na příkazovém řádku. Ve výchozím nastavení se zobrazí výzva k přepsání.

  • Kopírování šifrovaných souborů

    Kopírování šifrovaných souborů na svazek, který nepodporuje systém souborů EFS, způsobí chybu. Nejprve dešifrujte soubory nebo je zkopírujte na svazek, který podporuje systém souborů EFS.

  • Appending files

    Pokud chcete připojit soubory, zadejte jeden soubor pro cíl, ale více souborů pro zdroj (to znamená pomocí zástupných znaků nebo formátu file1+file2+file3).

  • Výchozí hodnota pro destination

    Pokud cíl vynecháte, xcopy příkaz zkopíruje soubory do aktuálního adresáře.

  • Určení, zda je cílem soubor nebo adresář

    Pokud parametr destination neobsahuje existující adresář a nekončí zpětným lomítkem (), zobrazí se následující zpráva:

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

    Pokud chcete, aby se soubor nebo soubory zkopírovaly do souboru, stiskněte klávesu F. Pokud chcete, aby se soubor nebo soubory zkopírovaly do adresáře, stiskněte D.

    Tuto zprávu můžete potlačit pomocí parametru příkazového řádku /i , který způsobí xcopy , že se bude předpokládat, že cílem je adresář, pokud je zdrojem více než jeden soubor nebo adresář.

  • Použití příkazu k nastavení atributu xcopy archivace pro cílové soubory

    Příkaz xcopy vytvoří soubory se sadou atributů archivu bez ohledu na to, zda byl tento atribut nastaven ve zdrojovém souboru. Další informace o atributech souborů a atributech naleznete v tématu Související odkazy.

  • Porovnání xcopy a diskcopy

    Pokud máte disk, který obsahuje soubory v podadresářích a chcete ho zkopírovat na disk s jiným formátem, použijte xcopy místo příkazu příkaz diskcopy. diskcopy Vzhledem k tomu, že příkaz kopíruje disky sledované podle plánu, musí mít zdrojový a cílový disk stejný formát. Příkaz xcopy nemá tento požadavek. Pokud nepotřebujete úplnou kopii image disku, použijte xcopy ji.

  • Chyba nedostatku paměti

    Pokud se spustí kopírování xcopy souboru nebo složky, jejíž cesta k názvu souboru je větší než 255 znaků, může dojít k chybě nedostatek paměti.

  • Ukončovací kódy pro xcopy

    Chcete-li zpracovat ukončovací kódy vrácené programem xcopy, použijte parametr ErrorLevel na příkazovém řádku if v dávkovém programu. Příklad dávkového programu, který zpracovává ukončovací kódy pomocí if, naleznete v části Související odkazy. Následující tabulka uvádí každý ukončovací kód a popis.

    Exit code Description
    0 Soubory se zkopírovaly bez chyby.
    1 Nebyly nalezeny žádné soubory ke kopírování.
    2 Uživatel stisknutím kombinace kláves CTRL+C ukončí xcopy.
    4 Došlo k chybě inicializace. Na příkazovém řádku není dostatek paměti nebo místa na disku nebo jste zadali neplatný název jednotky nebo neplatnou syntaxi.
    5 Došlo k chybě zápisu na disk.

Examples

1. Chcete-li zkopírovat všechny soubory a podadresáře (včetně všech prázdných podadresářů) z jednotky A do jednotky B, zadejte:

xcopy a: b: /s /e

2. Chcete-li do předchozího příkladu zahrnout jakékoli systémové nebo skryté soubory, přidejte následující parametr příkazového řádku /h :

xcopy a: b: /s /e /h

3. Chcete-li aktualizovat soubory v adresáři \Reports soubory v adresáři \Rawdata, které se změnily od 29. prosince 1993, zadejte:

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

4. Chcete-li aktualizovat všechny soubory, které existují v \Reports v předchozím příkladu, bez ohledu na datum, zadejte:

xcopy \rawdata \reports /u

5. Chcete-li získat seznam souborů, které mají být zkopírovány předchozím příkazem (tj. aniž by se soubory skutečně zkopírovaly), zadejte:

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

Soubor xcopy.out obsahuje všechny soubory, které se mají zkopírovat.

6. Chcete-li zkopírovat adresář \Zákazník a všechny podadresáře do adresáře \\Veřejné\Adresa na síťové jednotce H:, zachovat atribut pouze pro čtení a zobrazit výzvu při vytvoření nového souboru na H:, zadejte:

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

7. Chcete-li zadat předchozí příkaz, ujistěte se, že xcopy se vytvoří adresář \Adresa, pokud neexistuje, a potlačte zprávu, která se zobrazí při vytváření nového adresáře, přidejte parametr příkazového řádku /i následujícím způsobem:

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

8. Můžete vytvořit dávkový program pro provádění xcopy operací a použít příkaz dávkové if ke zpracování ukončovacího kódu, pokud dojde k chybě. Například následující dávkový program používá nahraditelné parametry pro xcopy zdrojové a cílové parametry:

@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

Pokud chcete použít předchozí dávkový program ke zkopírování všech souborů v adresáři C:\Prgmcode a jeho podadresářích na jednotku B, zadejte:

copyit c:\prgmcode b:

Interpret příkazů nahradí C:\Prgmcode za %1 a B: za %2, pak použije xcopy s volbami příkazového řádku /e a /s . Pokud xcopy dojde k chybě, dávkový program přečte ukončovací kód a přejde na štítek uvedený v příslušném příkazu IF ERRORLEVEL , poté zobrazí příslušnou zprávu a ukončí dávkový program.

9. Tento příklad zkopíruje všechny neprázdné adresáře a soubory s přidruženou příponou souboru za symbolem hvězdičky.

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

V předchozím příkladu tato konkrétní hodnota parametru zdroje .\toc*.yml zkopíruje stejné 3 soubory, i když byly odstraněny dva znaky cesty .\ . Pokud by byl zástupný znak asterisk odebrán z parametru source, nezkopírovaly by se však žádné soubory, takže by se změnil pouze na .\toc.yml.