3 つの個別のコマンド (コマンド ラインに一度に 1 つ入力) として正常に動作する 3 コマンドの .bat ファイルがありますが、bat ファイルに 3 行として配置すると機能しません。
ファイルは次のとおりです。
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
最初のコマンドは正常に実行されますが、コマンド ラインで 2 番目のコマンドに対して次のエラーが表示されます。
s.pgm was unexpected at this time
fname と %s を使用した for ループがある理由は、debayer.exe プログラムが @fname.pgm をファイル名として認識しないためですが、それが文字列を取り込むことを意味することを認識するためです。 @fname を認識し、現在のファイル名に置き換えます。
この問題を解決する方法についてのアイデアはありますか?
私が試してみました:
%%
代わりに置く%
^
それぞれの前に置く%
CALL
上記のコードにあるを追加する各行の終わりにセミコロンを追加します。