2014-12-17 12 views
5

dtd uzantısıyla dosyaları açmak için aşağıdaki toplu iş komutum var.Not Defteri'nde belirli bir türdeki tüm dosyaları açmak için komut komutu ++

REM Open all the static content files 
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\folder1\File1.dtd" 
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\folder1\File2.dtd" 
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\folder2\File1.dtd" 
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\folder2\File2.dtd" 
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\folder3\File1.dtd" 
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\folder3\File2.dtd" 

nasıl "D:\data" klasörü altında dtd uzantılı tüm dosyaları açmak için bu toplu komutu değiştirebilirim?

Ben aşağıdaki kodu denedik ama

REM Open all the static content files 
"C:\Program Files (x86)\Notepad++\notepad++.exe" "D:\data\\*.dtd" 

cevap

7

Sen FOR komutunu kullanabilirsiniz çalışmaz:

FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]

kök dizin ağacını Walks [sürücü:] yol ağacın her dizininde FOR ifadesini yürütme./R sonra sonra belirtimi belirtilmemişse, geçerli dizin varsayılır. Eğer set sadece bir periyot (.) Karakteriyse, o zaman sadece dizin ağacını numaralandıracaktır. Senin durumunda

bu çalışması gerekir:

FOR /R d:\data %a IN (*.dtd) DO "C:\Program Files (x86)\Notepad++\notepad++.exe" "%a" 

kullanın %%a Eğer bir toplu iş dosyasından bu çalıştırmak gerekiyorsa size bir boşlukla olanlar ayırabilirsiniz birden uzantıları kullanmak istiyorsanız

FOR /R d:\data %a IN (*.dtd *.xml *.xslt) DO "C:\Program Files (x86)\Notepad++\notepad++.exe" "%a" 
+0

aynı anda İÇİNDE (küme) bölümünde birkaç fileendings dahil etmek mümkün mü? – Kaiserludi

+0

@Kaiserludi evet, bu mümkün olduğu ortaya çıkıyor, ben cevabımda bu seçeneği ekledim. – rene

1

Ayrıca bu şekilde toplu dosyası yazmak isteyebilirsiniz:

set command=C:\Program Files (x86)\Notepad++\notepad++.exe 
FOR /R d:\data %%a IN (*.dtd) DO %command% %%a 
0

Önceki oturumun dosyalarının açılmasını istemiyorsanız, -nosession parametresini ekleyin.
(burada .bat dosyada dtd uzatılması için örnek)

for /R %%x in (*.dtd) do (
    start "" "C:\Program Files\Notepad++\notepad++.exe" -nosession "%%x" 
) 
İlgili konular