如何在批处理文件中使用start命令?

时间:2013-06-19 21:16:13

标签: windows-7 batch-file batch-processing

我有一个批处理文件,用于启动包含大量命令行参数的应用程序:

"C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\11.0\WebDev.WebServer40.exe" /port:1672 /path:"C:\Code.Net\My App\Iteration 6\REL_6.8.806_PerfEnhanceV\Fusion\Code\CC.Fusion\CC.Fusion.Services" /vpath:"/FusionServices"

问题在于,当我运行批处理文件时,DOS窗口会保持运行直到命令完成,我希望它能够消失。所以我尝试使用start命令,但把它放在前面,如下所示:

start "C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\11.0\WebDev.WebServer40.exe" /port:1672 /path:"C:\Code.Net\My App\Iteration 6\REL_6.8.806_PerfEnhanceV\Fusion\Code\CC.Fusion\CC.Fusion.Services" /vpath:"/FusionServices"

但我收到一条错误,指出Invalid switch - "/port:1672"

我也试过逃避双引号,但我并没有成功。

我该如何解决?

2 个答案:

答案 0 :(得分:54)

另外一对兔子的耳朵应该可以做到这一点。

start "" "C:\Program...

START将第一个引用的参数视为窗口标题,除非它是唯一的参数 - 并且任何直到可执行文件名称的开关都被视为START开关。

答案 1 :(得分:9)

我认为其他Stack Overflow答案可以解决您的问题: How do I run a bat file in the background from another bat file?

基本上,您使用/B/C选项:

START /B CMD /C CALL "foo.bat" [args [...]] >NUL 2>&1