Ç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.