示例 run.bat 文件
echo "Test"
echo %1
echo %2
set /p DUMMY=Hit ENTER to continue...
所以这个bat文件将打印给它们的前两个参数。参数可能包含也可能不包含空格。为此我用双引号逃脱了它们。
run.bat -test "arg2 d"
通过命令行调用时,它工作得很好。
我想通过任务计划程序安排该游戏。但任务计划程序打开一个cmd窗口并立即关闭。
不工作
工作
请注意参数中的引用。这导致了这个问题。那么如何用空格来转义参数呢。
此外,如果输入的程序/脚本文件位置没有引号,则参数正在运行。但为此,脚本必须位于没有空格的文件夹中。
行动中的错误
那么如何在文件路径中创建一个带空格的任务,以及如何用空格创建参数。
它仅在Windows 10中发生。它在Windows 7中正常运行。顺便说一下。
答案 0 :(得分:0)
我有一个类似的问题。我在Server 2012 R2上运行了计划任务。我不得不将任务的下拉菜单更改为Windows 2012,而不是2008,它似乎可以正常工作。也许Win10也需要在任务中选择2012年。
答案 1 :(得分:0)
简短回答:像在命令提示符中键入一样,使用整个命令行,并在其周围加上引号。 不要转义任何内部引号,只需在命令行的开头和结尾多加一个引号即可。
然后将计划程序设置为 cmd.exe 并将参数设置为 /c(引用命令行)
长答案:根据 cmd.exe 的文档(在 'cmd /?' 中找到)
<块引用>如果指定了 /C 或 /K,则后面的命令行的其余部分 switch 作为命令行处理,其中的逻辑如下 用于处理引号 (") 字符: