我有一个包含3个命令的.bat文件,这些命令单独在命令行中输入时可以正常运行,但是当我将它们作为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进行循环的原因是debayer.exe程序不理解@fname.pgm作为文件名,但它知道这意味着带入一个字符串,然后forfiles识别@fname并替换为当前文件名。
有什么解决这个问题的想法吗?
我已经尝试过:
1. 用%%代替%。 2. 在每个%前面加上^。 3. 添加上述代码中的CALL。 4. 在每行末尾添加分号。