我的批处理文件执行会在echo echo%outfvar%处抛出错误。以下是我写的批处理文件:
{{1}}
错误是"此时%pat意外发生.." 有人可以帮我成功执行这个批处理文件吗?
答案 0 :(得分:3)
删除所有 =
个命令中set
周围的空格。
do
行中的(
和for
之间必须有空格。
该行
set outfvar = "outfile"_%incvar%".res"
应该阅读
set "outfvar=outfile_%incvar%.res"
(如你所说的引号是字符串值的一部分。)
for
变量必须仅由一个字母组成,需要通过前面的%%
进行扩展。您正试图在代码中使用%%pat
,这将无效。改为陈述%%p
(也是内部for
)。
最后,您需要延迟扩展才能读取您在相同(复合)命令中修改的变量,代码中的for
。请参阅this post了解其工作原理。