Aracılığıyla paylaş


xcopy komutu

Alt dizinler de dahil olmak üzere dosyaları ve dizinleri kopyalar.

Bu komutun nasıl kullanılacağına ilişkin örnekler için bkz. Örnekler.

Sözdizimi

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]

Parametreler

Parametre Açıklama
<Kaynak> Gerekli. Kopyalamak istediğiniz dosyaların konumunu ve adlarını belirtir. Bu parametre bir sürücü veya yol içermelidir.
[<Hedef>] Kopyalamak istediğiniz dosyaların hedefini belirtir. Bu parametre bir sürücü harfi ve iki nokta üst üste, dizin adı, dosya adı veya bunların birleşimini içerebilir.
/w Aşağıdaki iletiyi görüntüler ve dosyaları kopyalamaya başlamadan önce yanıtınızı bekler:
Dosyaları kopyalamaya başlamak için herhangi bir tuşa basın
/p Her hedef dosyayı oluşturmak isteyip istemediğinizi onaylamanızı ister.
/c Hataları yoksayar.
/v Hedef dosyaların kaynak dosyalarla aynı olduğundan emin olmak için her dosyayı hedef dosyaya yazıldığında doğrular.
/q İletilerin görüntülenmesini xcopy engeller.
/f Kopyalama sırasında kaynak ve hedef dosya adlarını görüntüler.
/l Kopyalanacak dosyaların listesini oluşturur, ancak dosyaları etkin bir şekilde kopyalamaz.
/g Hedef şifrelemeyi desteklemediğinde şifresi çözülmüş hedef dosyaları oluşturur.
/d [:AA-GG-YYYY] Yalnızca belirtilen tarihte veya sonrasında değiştirilen kaynak dosyaları kopyalar. AA-GG-YYYY değeri eklemezseniz, xcopy var olan hedef dosyalardan daha yeni olan tüm kaynak dosyaları kopyalar. Bu komut satırı seçeneği, değiştirilen dosyaları güncelleştirmenizi sağlar.
/u Dosyaları yalnızca hedefte bulunan kaynaktan kopyalar.
Kaynak bir dizinse veya joker karakterler içeriyorsa ve hedef yoksa, xcopyhedefin bir dizin adı belirttiğini varsayar ve yeni bir dizin oluşturur. Ardından, xcopy belirtilen tüm dosyaları yeni dizine kopyalar. Varsayılan olarak, xcopy bir dosya mı yoksa dizin mi olduğunu belirtmeniz istenir.
/s Dizinleri ve alt dizinleri boş olmadığı sürece kopyalar. /s öğesini atlarsanız, xcopy tek bir dizin içinde çalışır.
/e Boş olsalar bile tüm alt dizinleri kopyalar. /s ve /t komut satırı seçenekleriyle /e kullanın.
/t Dosyaları değil yalnızca alt dizin yapısını (yani ağacı) kopyalar. Boş dizinleri kopyalamak için /e komut satırı seçeneğini eklemeniz gerekir.
/k Dosyaları kopyalar ve kaynak dosyalarda varsa hedef dosyalarda salt okunur özniteliğini korur. Varsayılan olarak salt xcopy okunur özniteliğini kaldırır.
/r Salt okunur dosyaları kopyalar.
/h Gizli ve sistem dosyası özniteliklerine sahip dosyaları kopyalar. Varsayılan olarak, xcopy gizli veya sistem dosyalarını kopyalamaz
/a Yalnızca arşiv dosyası öznitelikleri ayarlanmış kaynak dosyaları kopyalar. /a , kaynak dosyanın arşiv dosyası özniteliğini değiştirmez. Attrib kullanarak arşiv dosyası özniteliğini ayarlama hakkında bilgi için bkz. İlgili bağlantılar.
/m Arşiv dosyası öznitelikleri ayarlanmış kaynak dosyaları kopyalar. /a'nın aksine, /m kaynakta belirtilen dosyalarda arşiv dosyası özniteliklerini kapatır. Attrib kullanarak arşiv dosyası özniteliğini ayarlama hakkında bilgi için bkz. İlgili bağlantılar.
/n NTFS kısa dosyasını veya dizin adlarını kullanarak kopya oluşturur. /n , bir NTFS biriminden FAT birimine dosya veya dizin kopyaladığınızda veya hedef dosya sisteminde FAT dosya sistemi adlandırma kuralı (8,3 karakter) gerektiğinde gereklidir. Hedef dosya sistemi FAT veya NTFS olabilir.
/o Dosya sahipliğini ve isteğe bağlı erişim denetimi listesi (DACL) bilgilerini kopyalar.
/x Dosya denetim ayarlarını ve sistem erişim denetimi listesi (SACL) bilgilerini kopyalar ( /o anlamına gelir).
/exclude:FileName1[+[DosyaAdı2]][+[DosyaAdı3]( )] Dosyaların listesini belirtir. En az bir dosya belirtilmelidir. Her dosya, dosyadaki ayrı bir satırda her dizeye sahip arama dizeleri içerir. Dizelerden herhangi biri kopyalanacak dosyanın mutlak yolunun herhangi bir bölümüyle eşleştiğinde, bu dosya kopyalanmadan dışlanır. Örneğin , obj dizesinin belirtilmesi, dizin obj'sinin altındaki tüm dosyaları veya .obj uzantısına sahip tüm dosyaları dışlar.
/y Varolan bir hedef dosyanın üzerine yazmak istediğinizi onaylama istemini gizler.
/-y Varolan bir hedef dosyanın üzerine yazmak istediğinizi onaylamanızı ister.
/z Yeniden başlatılabilir modda bir ağ üzerinden kopyalanır.
/b Dosyalar yerine sembolik bağlantıyı kopyalar. Bu parametre Windows Vista'da® kullanıma sunulmuştur.
/j Dosyaları arabelleğe almadan kopyalar. Çok büyük dosyalar için önerilir. Bu parametre Windows Server 2008 R2'ye eklendi.
/sıkıştırmak Uygun olduğunda dosya aktarımı sırasında ağ sıkıştırma isteğinde bulun.
/[-]seyrek Kopyalama işlemi sırasında dosyaların seyrek durumunun korunmasını etkinleştirir veya devre dışı bırakır. Her iki parametre de belirtilirse, /-sparse geçersiz kılmaları /sparse.
/klon yok İyileştirme olarak blok kopyalamayı denemez.
/? Komut isteminde yardım görüntülenir.

Açıklamalar

  • /z kullanma

    Kopyalama aşamasında bağlantınızı kaybederseniz (örneğin, çevrimdışı olan sunucu bağlantıyı kesiyorsa), bağlantı yeniden başlatıldıktan sonra devam eder. /z ayrıca her dosya için tamamlanan kopyalama işleminin yüzdesini görüntüler.

  • COPYCMD ortam değişkeninde /y kullanma.

    COPYCMD ortam değişkeninde /y kullanabilirsiniz. Komut satırında /-y kullanarak bu komutu geçersiz kılabilirsiniz. Varsayılan olarak, üzerine yazmanız istenir.

  • Şifrelenmiş dosyaları kopyalama

    Şifrelenmiş dosyaların EFS'yi desteklemeyen bir birime kopyalanması hatayla sonuçlanır. Önce dosyaların şifresini çöz veya dosyaları EFS'yi destekleyen bir birime kopyala.

  • Dosyaları ekleme

    Dosyaları eklemek için hedef için tek bir dosya, ancak kaynak için birden çok dosya (joker karakterler veya dosya1+dosya2+dosya3 biçimi kullanarak) belirtin.

  • Hedef için varsayılan değer

    Hedefi atlarsanız, xcopy komut dosyaları geçerli dizine kopyalar.

  • Hedefin bir dosya mı yoksa dizin mi olduğunu belirtme

    Hedef mevcut bir dizin içermiyorsa ve ters eğik çizgi () ile bitmiyorsa, aşağıdaki ileti görüntülenir:

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

    Dosyanın veya dosyaların bir dosyaya kopyalanmasını istiyorsanız F tuşuna basın. Dosyanın veya dosyaların bir dizine kopyalanmasını istiyorsanız D tuşuna basın.

    Kaynağın birden fazla dosya veya dizin olması durumunda hedefin bir dizin olduğunu varsaymaya neden xcopy olan /i komut satırı seçeneğini kullanarak bu iletiyi gizleyebilirsiniz.

  • xcopy Hedef dosyalar için arşiv özniteliğini ayarlamak için komutunu kullanma

    komutu, xcopy bu özniteliğin kaynak dosyada ayarlanıp ayarlanmadığına bakılmaksızın arşiv özniteliği ayarlanmış dosyaları oluşturur. Dosya öznitelikleri ve entrib hakkında daha fazla bilgi için bkz. İlgili bağlantılar.

  • xcopy ve diskcopy karşılaştırma

    Alt dizinlerdeki dosyaları içeren bir diske sahipseniz ve bunu farklı biçime sahip bir diske kopyalamak istiyorsanız, yerine komutunu xcopykullanındiskcopy. diskcopy Komut diskleri parçaya göre kopyaladığı için kaynak ve hedef disklerinizin aynı biçime sahip olması gerekir. Komutun xcopy bu gereksinimi yoktur. Eksiksiz bir disk görüntüsü kopyasına ihtiyacınız olmadığı sürece kullanın xcopy .

  • Yetersiz bellek hatası

    Dosya adı yolu 255 karakterden büyük olan bir dosya veya klasörü kopyalamak için çalıştırılıyorsa xcopy "yetersiz bellek" hatası oluşabilir.

  • Çıkış kodları: xcopy

    tarafından xcopydöndürülen çıkış kodlarını işlemek için, bir toplu iş programında if komut satırında ErrorLevel parametresini kullanın. çıkış kodlarını if kullanarak işleyen bir toplu iş programı örneği için bkz. İlgili bağlantılar. Aşağıdaki tabloda her çıkış kodu ve bir açıklama listelenir.

    Çıkış kodu Açıklama
    0 Dosyalar hatasız olarak kopyalandı.
    1 Kopyalanacak dosya bulunamadı.
    2 Kullanıcı sonlandırmak xcopyiçin CTRL+C tuşlarına bastı.
    4 Başlatma hatası oluştu. Yeterli bellek veya disk alanı yok ya da komut satırına geçersiz bir sürücü adı veya geçersiz söz dizimi girdiniz.
    5 Disk yazma hatası oluştu.

Örnekler

1. A sürücüsünden B sürücüsüne tüm dosyaları ve alt dizinleri (boş alt dizinler dahil) kopyalamak için şunu yazın:

xcopy a: b: /s /e

2. Önceki örnekteki herhangi bir sistem veya gizli dosyayı eklemek için /h komut satırı seçeneğini aşağıdaki gibi ekleyin:

xcopy a: b: /s /e /h

3. \Reports dizinindeki dosyaları \Rawdata dizininde 29 Aralık 1993'ten bu yana değişen dosyalarla güncelleştirmek için şunu yazın:

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

4. Önceki örnekte yer alan \Raporlar'da bulunan tüm dosyaları güncelleştirmek için, tarihe bakılmaksızın şunu yazın:

xcopy \rawdata \reports /u

5. Önceki komut tarafından kopyalanacak dosyaların listesini almak için (yani, dosyaları gerçekten kopyalamadan) şunu yazın:

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

xcopy.out dosyasında kopyalanacak her dosya listelenir.

6. \Customer dizinini ve tüm alt dizinlerini H: ağ sürücüsündeki \\Public\Address dizinine kopyalamak için salt okunur özniteliğini koruyun ve H: üzerinde yeni bir dosya oluşturulduğunda sorulun:

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

7. Önceki komutu vermek için, yoksa \Address dizininin oluşturulduğundan emin olun xcopy ve yeni bir dizin oluşturduğunuzda görüntülenen iletiyi gizleyin, /i komut satırı seçeneğini aşağıdaki gibi ekleyin:

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

8. İşlemleri gerçekleştirmek xcopy için bir toplu iş programı oluşturabilir ve hata oluşursa çıkış kodunu işlemek için if komutunu kullanabilirsiniz. Örneğin, aşağıdaki toplu iş programı kaynak ve hedef parametreler için xcopy değiştirilebilir parametreler kullanır:

@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

Önceki toplu iş programını kullanarak C:\Prgmcode dizinindeki ve alt dizinlerindeki tüm dosyaları B sürücüsüne kopyalamak için şunu yazın:

copyit c:\prgmcode b:

Komut yorumlayıcısı ,%1 için C:\Prgmcode ve %2için B: yerine C:\Prgmcode kullanır ve ardından xcopy ve /s komut satırı seçenekleriyle kullanır. Bir hatayla karşılaşırsa xcopy , toplu iş programı çıkış kodunu okur ve uygun IF ERRORLEVEL deyiminde belirtilen etikete gider, ardından uygun iletiyi görüntüler ve toplu iş programından çıkar.

9. Bu örnek, boş olmayan tüm dizinlerin yanı sıra yıldız simgesinden sonra ilişkili dosya uzantısına sahip dosyaları kopyalar.

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

Yukarıdaki örnekte, bu özel kaynak parametre değeri .\toc*.yml , iki yol karakteri kaldırılmış olsa bile aynı 3 dosyayı kopyalar. Ancak, yıldız joker karakteri kaynak parametreden kaldırıldığında hiçbir dosya kopyalanamaz ve bu da bunu yalnızca .\toc.yml yapar.