我创建了一个批处理(batA)文件,用于启动另一个批处理(marathon.bat)文件。当我将batA保存到桌面并使用
时start /wait ..\marathon\marathon.bat -batch "C:\stuff"
它运作得很好。但是,当我将marathon.bat保存到我的程序文件中时,现在名称中有空格,然后使用
start /wait c:\"Program Files (x86)\marathon\marathon.bat" -batch "c:\stuff"
我收到错误:
'c:\Program' is not recognized as an internal or external command, operable program or batch file.
我知道你必须使用双引号才能考虑空格,但为什么它会停在c:\ Program?我已经尝试将引号移动到不同的位置,但我似乎无法识别第二个文件。
答案 0 :(得分:0)
您对批处理文件的调用方式存在2个问题。
首先,您已将报价放在错误的位置。而不是
start /wait c:\"Program Files (x86)\marathon\marathon.bat"
您应该用引号括起整个命令,而不仅仅是Program Files
文件夹名称:
start /wait "c:\Program Files (x86)\marathon\marathon.bat"
第二个问题是带有START
命令指定引号的第一个参数被视为新窗口的标题。您应该在命令之前添加一组空的引号来规避这一点:
start "" /wait "c:\Program Files (x86)\marathon\marathon.bat"
答案 1 :(得分:0)
这对你有用吗?
start "" /wait %comspec% /c "c:\Program Files (x86)\marathon\marathon.bat" -batch "c:\stuff"