2011-01-15 18 views
7

Her birinde bir veya daha fazla dosya bulunan çok sayıda alt klasör içeren bir klasör var. Tüm bu dosyaları C: \ şarkılarına (örneğin) taşıyan bir toplu iş dosyası yazmaya çalışıyorum. Herhangi bir yardım? ZatenTüm alt dizinlerdeki dosyaları taşımak için DOS komutu

C:\>FOR /R C:\Test %i IN (*) DO MOVE %i C:\Songs 

Test ve şarkılar mevcut klasörleri denedi, ama ben yanlış yapıyorum

%i was unexpected at this time. 

söyleyerek bir hata alıyorum? Bir toplu iş dosyasında

cevap

5
FOR /R %i IN (C:\Test\*) DO MOVE "%i" C:\Songs 

, bu %% i olmak zorunda. Toplu tuhaf tuhaflık.

+0

Bunu çalıştırdınız mı? Benim için sadece konsolu asar. Tuhaf. –

+0

Klasörün masif olması durumunda, her şeyi tekrarlı olarak ayrıştırmak uzun zaman alacaktır. Evet, test ettim, Win7 ve şimdi XP'de. Orijinal MS-DOS, \ *. \ * Gerekir. – SilverbackNet

+0

Çalışmaları. Teşekkürler :) – Rishi

5

(Ben genellikle geriye slants kullanmak son bölümünü ancak bu çılgın şey nedense onları silme tuttu. Ama her iki şekilde çalışacağız)

for /r %x in (*.*) do move "%x" "%x"/../.. 

(1 yukarı alt dizinleri dosya taşımak)

(silme gereksiz dizinleri)

for /d /r %x in (bin) do rd "%x" 

yani o altında "bin" dizinleri dosyalarla dizinleri bir demet vardı ve isterseniz her şeyi 1 yukarı taşımak ve "bin" dizinlerini silmek.

+0

Seçilen klasörü kullanmak yerine ilk komutu nasıl değiştirirsiniz? (* . *) '? (Bu, daha sonra özel bir bağlam menüsü komutuyla kullanacağım bir toplu iş dosyasında kullanım içindir.) – u01jmg3

İlgili konular