Çok sayıda dosyayı kopyalayın, ancak Windows'ta belirli alt klasörleri hariç tutun


14

Esas olarak aşağıdaki gibi bir klasör yapısında bulunan çalışma klasörümü yedeklemek istiyorum:

www
    - project 1
        - assets
        - node_modules
    - project 1
        - assets
        - node_modules
    - project 1
        - assets
        - node_modules

Tüm projeleri kopyalamak gerekir ama her proje içinde node_modules klasörü hariç. Bunu toplu olarak yapmanın kolay bir yolu var mı? Büyük miktarlarda projem olduğu için.

Windows 8.1'de çalıştırma


Şu soruya bakın: superuser.com/questions/359031/… . Sorunun kendisi cevabınızdır.
angus

Yanıtlar:


12

Tüm projeleri kopyalamak gerekir ama node_modules klasörünü hariç tutmak

Seçenekle xcopybirlikte kullanabilirsiniz exclude:

xcopy www backup /exclude:except.txt
  • except.txt hariç tutulacak dizinlerin listesini içerir.

except.txt:

node_modules

/EXCLUDE:file1[+file2][+file3]...

  • Dosyaların her biri hariç tutulacak bir veya daha fazla tam veya kısmi yol adı içerebilir.
  • Bunlardan herhangi biri bir SOURCE dosyasının mutlak yolunun herhangi bir bölümü ile eşleştiğinde, o dosya hariç tutulur.
  • Örneğin , dizinin altındaki tüm dosyaları veya sırasıyla uzantıya sahip tüm dosyaları hariç tutan \obj\veya .objhariç tutacak bir dize belirtmek .obj.obj

Kaynak xcopy - Dosyaları ve / veya dizin ağaçlarını başka bir klasöre kopyalayın.


daha fazla okuma


Harika, teşekkürler bunu bir deneyeceğim. Ben de buldum: robocopy SOURCE DESTINATION /mir /xd FOLDER_TO_EXCLUDE- Ben de işe yarayabilir?
Doidgey

Büyük olasılıkla. Yine de robocopy bilmiyorum: / Lütfen cevabımı kabul etmeyi unutmayın;)
DavidPostill

Ver robocopybir deneyin - bu aynı komut seçeneklerini desteklemek üzere tasarlanmıştır xcopyama bir sürü iyileştirme özellikleri - Uzun yol desteği, tamponlama, unicode, bu korur damgaları vb vb RobocopyVista, XP yüklenebilen beri Windows'un bir parçasıdır.
user1016274

Bu komut, kaynağımdan herhangi bir alt klasörü kopyalamadı, yalnızca o klasördeki dosyaları kopyaladı.
Qwerty

@DavidPostill Dışlamak istediğim dizinleri bir metin dosyasına koymak ve komutta o metin dosyasına başvurmak zorunda mıyım? Hangi dizinleri hariç tutmak istediğimi doğrudan söyleyemez miyim? Sanırım robocopydaha iyi.
Shayan

9

Cevabı için @DavidPostill'e teşekkürler. Bir tedavi çalıştı. Ancak ben de robokopiyi çalıştırmayı başardım. Yardım edebilecekleri için komut şuydu:

robocopy SOURCE DEST /mir /xd node_modules

Kaynak kopyalanacak klasör ve hedef hedeftir. Ve sonunda sonunda hariç tutmak istediğim klasör olarak node_modules var.


3
İyi ol robocopy /mir. Çok iyi yapabilen çok güçlü bir anahtar, ancak kullanmadan önce bu anahtarın ne yaptığının farkında olun. Kaynak dizininde yoksa öğeleri silmek de dahil olmak üzere iki dizini eşitler.
Adam Plocher

Çok teşekkür ederim! Bu, Belgelerim klasörünü Dropbox ile senkronize etmek için çok iyi çalışıyor, ancak çok fazla yer kapladığı için node_modules klasörlerini hariç tutuyor
Ben Gubler

1
@AdamPlocher Yorumunuz beni veri kaybından kurtardı. Klasörleri taşımak yerine robocopy kullanıyorum, hedef klasördeki dosyaları silebilirdi bana olmadı. Neyse ki 4 gün önce bir yedeği kurtarabildim, bu yüzden teşekkür ederim.
Hay
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.