2012-04-23 19 views
15

İşte benim sorunum.Bir toplu iş dosyasına bir txt satırı satırı okuyun.

abc.mpg 
def.mpg 
ghi.mpg 
xyz.mpg 

O videoları biri bazı komutları kullanarak tek işlemek ve (uzantısı olmadan) aynı isimde bir klasöre sonuçları koymak istiyorum: Ben 100 farklı video adları ile bir txt dosyası (örnekler) vardır:

command1 abc.mpg 
command2 abc.mpg 
move results .\abc 

Sorum, bir toplu iş dosyasındaki bir döngü ile yukarıdaki yinelemeyi nasıl gerçekleştirebilirim.

cevap

22

komut gibi/F parametresiyle İÇİN olduğu bu

FOR /F %i in (yourFile.txt) DO yourcommand %i 

bu metin dosyasından bir defada bir satır okur ve sonra DO sonra belirtilen komutu çağırır% i argüman içine değer alınır anahtar sözcüğü (komut, kopyalama veya taşıma işlemleriyle başka bir toplu iş olabilir)

+9

Listedeki dosya adları boşluk içerebilirse, '' delims = "' (veya '" tokens = * "') ifadesini hemen F': "FOR/F" delims = "% I IN…". –

+2

Eğer 'yourFile.txt' etrafında çift tırnak koyarsanız, 'FOR', dosyayı okumak yerine bu metnin üzerine dönecektir. cmd çok kafa karıştırıcı. [Ss64 FOR /F](http://ss64.com/nt/for_f.html] adresindeki dokümanlar, hepsinde daha ayrıntılı bir şekilde ele alınmaktadır. – binki

İlgili konular