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

时间:2018-05-25 13:18:00

标签: batch-file cmd command

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

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

它在COMMAND PROMPT中工作得很好,但在批处理文件或cmd文件中却没有 - 为什么?

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

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

递归For循环已经返回完整路径,另外还有路径%AppData%\..\Local的系统变量。

For /R "%LocalAppData%\MyProg\2.0" %%A In ("*MyProgram.exe") Do "%%A"

根据您的需要,可能值得查看Start命令用法Start /?。您可能会发现Do Start "" "%%A"就是您所需要的。