Robocopy kullanarak kopyalarken yalnızca aynı ada sahip bazı dosyaları hariç tutun


15

Ben böyle bir dizin yapısı var:

folder1\
    help.txt
    folder2\
        help.txt
    folder3\
        help.txt
    ...

Klasör içeriğini robocopy kullanarak kopyalamak istiyorum . Örneğin:

robocopy folder1 destination /E

Klasörde bulunan help.text dosyasını hariç tutmak istiyorum, ancak klasör2, klasör3 vb. İçindeki help.txt dosyalarını dahil etmek istiyorum. Ayrıca, dizin yapısında başka bir yerde help.txt adlı dosyalar da olabilir. dahil edilecek dosyaların yollarını kodlayın.

Help.txt adlı tüm dosyaları hariç tutmak için aşağıdaki komutu kullanabilirsiniz, ancak sadece klasör1 kökündeki help.txt dosyasını hariç tutmanın bir yolu var mı?

robocopy folder1 destination /E /XF help.txt

Yanıtlar:


15

Dışlanacak dosyanın tam yolunu (sürücü dahil) eklemeniz gerekir . Göreli yollar çalışmaz.

Bu çalışıyor:

robocopy folder1 destination /E /XF "c:\somedir\another dir\folder1\help.txt"

Bu yapmaz:

robocopy folder1 destination /E /XF "folder1\help.txt"

Bunu da yapmaz:

robocopy folder1 destination /E /XF ".\folder1\help.txt"

Bunun gibi birden fazla dosyayı hariç tutabilirsinizrobocopy folder1 destination /E /XF "c:\file1" "c:\file2"
schnatterer

@ Dennis-Williamson, Bu doğru cevap için teşekkürler. Joker karakterlerle çalışmayan yazık: robocopy folder1 destination /E /XF "c:\somedir\another dir\folder1\help.txt*"bir hataya yol açar.
Olivier Faucheux

Bu yüzden diğer komutları denedikten 2 saat sonra bu işe yaradı. Milyonlarca kez teşekkürler!
Christopher Chipps

0

Bunu dosya adıyla yapmanın bir yolu olmadığını görmüyorum. Kopyalanmasını istemediğiniz dosyada, "bildiğiniz" in kaynak ağaçtaki başka hiçbir dosyada bulunmadığı bir niteliği ayarlayabilir ve ardından bu niteliğe sahip dosyaları hariç tutmak için / xa kullanabilirsiniz.

Bunu başaramazsanız, başka bir araç kullanmanız gerekecektir.

Bu çalışacak:

echo folder1\help.txt > \temp\excl.txt
xcopy /E folder1 destination /EXCLUDE:\temp\excl.txt

Aslında, şuna benzeyen bir dizin yapınız varsa:

folder1\
  help.txt
  folder1\
    help.txt

her iki dosyayı da hariç tutacaktır.


Yanlış olduğumu görüyorum.
wfaulk

0

Size geçerli dizini vermek için% CD% kullanabilirsiniz. Bu, belirli dizinleri hariç tutmanıza yardımcı olacaktır. Daha fazla yardım burada:

/programming//a/5274061

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.