批处理文件没有启动另一个批处理文件

时间:2014-01-30 14:25:31

标签: batch-file marathontesting

我创建了一个批处理(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?我已经尝试将引号移动到不同的位置,但我似乎无法识别第二个文件。

2 个答案:

答案 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"