【问题标题】:Using forfiles with a command-line program在命令行程序中使用 forfiles
【发布时间】:2013-09-02 06:45:57
【问题描述】:

我有一个通过命令提示符运行的图像去拜耳程序。它可以使用以下命令对单个图像进行 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 有关。关于如何解决这个问题的任何想法?

谢谢!

【问题讨论】:

    标签: image loops image-processing cmd converter


    【解决方案1】:

    想通了!

    我尝试使用十六进制转义字符 (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"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多