2013-08-17 97 views
0

我有一個名爲GPU去拜耳程序轉換使用此命令行代碼的圖像:命令循環中進行處理的圖像的目錄

DebayerGPU.exe -demosaic DFPD_R -CPU -pattern GRBG -i inputpic.pgm -o outputpic.ppm 

我以前處理其文件名是相同的圖像的文件夾除了結尾編號爲0-39。因此,我在cmd提示符下打開了像這樣的文件夾。

for %a in (0 1 2 3 4 5 6 7 8 9 10 11 1 
2 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 
39) do DebayerGPU.exe -demosaic DFPD_R -CPU -pattern GRBG -i single%a.pgm -o si 
ngle%a.ppm 

現在,我需要處理一個文件夾持有多套這些圖像現在標有filename0000的 - filename0039但是,也有,就像我說的,其中的幾個。即,名稱爲「文件名0000-文件名0039」的40個圖像40,名爲「文件名25_0000-文件名25_0039」的40個,以及名爲「文件名37_0000-文件名37_0039」的40個。

有沒有任何方式或循環來消除所有這些圖像與一個腳本?我的機器上有imagemagick。如果有人熟悉GPU Debayer,這是我正在使用的工具。它似乎有某種重複功能可能? http://www.fastcompression.com/products/debayer/debayer.htm

感謝您的任何想法!

回答

0

我真的沒有與該特定程序的任何真正熟悉,但我建議以下可以完成這項任務(在一個批處理文件):

setlocal 
for %%i in (0,1,39) do (
    DebayerGPU.exe -demosaic DFPD_R -CPU -pattern GRBG -i filename00%%~i.pgm -o filename00%%~i.ppm 
) 
for %%i in (25 37) do (
    for %%~j in (0,1,39) do (
    DebayerGPU.exe -demosaic DFPD_R -CPU -pattern GRBG -i filename%%~i_00%%~j.pgm -o filename%%~i_00%%~j.ppm 
    ) 
) 

只需複製並粘貼此,它基本上可以自動化你正在做的過程。最後一個循環用數字和下劃線表示任何一個。請記住:我不知道有關批處理的很多內容,而且我不知道如何通過多個命名文件夾遞歸。另外,使用forfiles可能會寫得更好一些。

+0

非常感謝,您的循環很有幫助,但是您將我的注意力引向forfiles命令更是如此!我將嘗試使用forfiles(名稱將始終是動態的,但文件類型不會)。我收到了一些錯誤,但我只會發布關於它們的另一個問題。謝謝! – Acoustic77