gpt4 book ai didi

batch-file - 如何在 .bat 文件中识别 %s?

转载 作者:可可西里 更新时间:2023-11-01 09:24:58 27 4
gpt4 key购买 nike

我有一个包含 3 个命令的 .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 并将其替换为当前文件名。

关于如何解决这个问题有什么想法吗?

我试过:

  1. %% 代替 %

  2. 在每个 %

    前放置一个 ^
  3. 添加上面代码中的CALL

  4. 在每行的末尾添加分号。

最佳答案

首先删除 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

关于batch-file - 如何在 .bat 文件中识别 %s?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18536649/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com