适用于命令提示符,但不适用于 BAT 文件或 CMD 文件

KiA*_*nKo 1 command cmd batch-file

由于 WINDOWS DEFENDER 出现问题,我需要执行以下操作:

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

它在命令提示符中完美运行,但在批处理文件或 cmd 文件中不起作用 - 为什么?

如何将可执行文件制作为批处理文件或“.cmd”?

Ger*_*ard 5

for在批处理文件中运行循环时,您需要使用附加的%预定义变量。所以应该是:

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

我建议您通过从 cmdline 运行来阅读详细记录的帮助for /?。保证您会从中受益!