2016-03-22 18 views
-1

Bu klasör yapısı vardır:bir klasördeki tüm dizinler için yoldaki bir dizin takma

mainDir 
----dira 
--------(files/folders) 
----dirb 
--------(files/folders) 
----dirc 
--------(files/folders) 
... 
... 
... 
----dirz 
--------(files/folders) 

Ben mainDir altındaki tüm dizinleri içinde döngü istiyorum dirMain altındaki her dir xyz adında bir klasör oluşturun ve hiç hareket içeriği dir#'dan (burada # bir, b ... z) xyz'a (ilgili direktifin altında).

sonuç şu şekilde görünecektir:

mainDir 
----dira 
--------xyz 
------------(files/folders) 
----dirb 
--------xyz 
------------(files/folders) 
----dirc 
--------xyz 
------------(files/folders) 
... 
... 
... 
----dirz 
--------xyz 
------------(files/folders) 

i el ile yapmak için çok fazla klasörler gibi bir toplu iş dosyası kullanarak bu mümkündür.

+0

Evet, bu mümkün. Kendi başına ne denedin? Nerede kaldın? – aschipfl

+0

Şimdiye kadar, her klasör için ayrı bir komut kümesi yazmak zorunda kalmadan nasıl yapılacağını araştırmayı ve diğer klasörler için tekrarlamayı denedim. Takılıp kalmış bir şey bulamadı. Daha önce böyle bir şey yazmadım. Yani beklediğiniz şey buysa, paylaşılacak kodunuz yok. – AndroidMechanic

cevap

2

Her klasörde yapmanız gereken adımları kolayca hallet. MOVE veya toplu bir dosya kümesini topluca kullanmak için joker karakterler kullanabilirsiniz. Ancak klasörler tek tek MOVEd veya RENAMEd olmalıdır.

  • xyz klasörüne xyz klasörüne
  • Taşı (xyz hariç) her alt klasör için tüm dosyalar

Sonra İÇİN/D döngü kullanarak her bir klasör için bu adımları yürütmek xyz klasöre

  • Taşı Oluştur .

    @echo off 
    for /d %%F in (main\*) do (
        pushd "%%F" 
        md "xyz" 
        move * "xyz" >nul 
        for /d %%G in (*) do if "%%G" neq "xyz" move "%%G" "xyz" >nul 
        popd 
    ) 
    
  • +0

    Teşekkürler! Bunu deneyeceğim ve birkaç saat içinde güncelleyeceğim ... – AndroidMechanic

    +0

    Bu çekicilik gibi çalıştı. Çok teşekkürler! – AndroidMechanic

    İlgili konular