2013-08-29 38 views
0

我有一個圖像debayering程序,通過命令提示符運行。它可以去拜耳單獨的圖像使用此命令:通過命令行程序使用forfiles

DebayerGPU.exe -demosaic DFPD_R -GPU -pattern GRBG -i inputfilename.pgm -o outputfilename.ppm 

我試圖讓它對.PGM文件的整個目錄中運行,並且我發現了FORFILES命令。

我一直是這樣的:

forfiles /M *.pgm /C "DebayerGPU.exe -demosaic DFPD_R -GPU -pattern GRBG -i @fname.pgm -o @fname.ppm

但是當我運行該程序debayering剛剛返回它的幫助窗口 我有成功的循環程序去拜耳如果文件被命名爲。同樣有越來越多的話,我可以用這個循環:

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 

和工作,但截至目前,FORFILES不我懷疑它是與程序不接受@fname。從forfiles。任何想法如何解決這個問題?

謝謝!

回答

0

圖示出來!

我嘗試使用十六進制轉義字符(0x22),但沒有奏效。 %也沒有逃脫。

所以,我做了一個迷你for循環,並把@fname作爲一個字符串。

forfiles /M *.pgm /C "cmd /c for %s in (@fname) do DebayerGPU.exe -demosaic DFPD_R -CPU -pattern GRBG -i %s.pgm -o %s.ppm"