You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

命令提示符可运行的FOR命令在BAT/CMD文件中失效的原因及解决方法

问题原因与解决办法

这事儿其实是命令提示符和批处理文件的语法差异导致的——在CMD窗口直接执行for循环时用单个%引用变量,但批处理文件里必须用双%%。

为啥会这样?因为批处理里单个%是用来指代命令行参数的(比如%1表示批处理接收的第一个参数),为了避免和for循环变量混淆,微软规定批处理里的for变量必须用双百分号来标识。

给你改好的可执行批处理代码:

for /r "%appdata%\..\Local\MyProg\2.0" %%D IN ("*MyProgram.exe") DO "%%~fD"

如果你的需求是找到文件后执行它,上面的代码就完全能用;要是需要给exe加启动参数,直接在"%%~fD"后面追加就行,比如:

for /r "%appdata%\..\Local\MyProg\2.0" %%D IN ("*MyProgram.exe") DO "%%~fD" -start

内容的提问来源于stack exchange,提问作者KiAnKo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 06:43:37