我有一个图像debayering程序,我通过命令提示符运行。它可以使用此命令对单个图像进行debayer:
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程序只返回其帮助窗口。 我成功循环debayer程序,如果文件的名称相同,增加的数字,然后我可以使用它for循环:
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没有。我怀疑这与程序不接受来自forfiles的@fname有关。有关如何解决这个问题的想法吗?
谢谢!
答案 0 :(得分: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"