我有一个 3-command .bat 文件,可以作为 3 个单独的命令正常运行(一次在命令行中输入 1 个),但是当我将它们作为 3 行放入 bat 文件时不起作用。
这是文件:
mogrify -format pgm ephemeral:*.png
pause
CALL 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
pause
mogrify -format png ephemeral:*.ppm
第一个命令运行良好,但命令行给了我第二个命令的这个错误:
s.pgm was unexpected at this time
我使用 fname 和 %s 进行 for 循环的原因是 debayer.exe 程序不将 @fname.pgm 理解为文件名,但它确实意识到这意味着引入一个字符串,所以它这样做了,然后是 forfiles识别@fname 并将其替换为当前文件名。
关于如何解决这个问题的任何想法?
我努力了:
放
%%
而不是%
^
在每个前面放一个%
CALL
在上面的代码中添加在每行末尾添加分号。