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

Ang*_*ker 25 batch-file batch-processing windows-7

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

"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"
Run Code Online (Sandbox Code Playgroud)

问题是,当我运行批处理文件时,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"
Run Code Online (Sandbox Code Playgroud)

但我得到一个错误说明 Invalid switch - "/port:1672"

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

我该如何解决这个问题?

Mag*_*goo 57

额外的一对兔子的耳朵应该可以做到.

start "" "C:\Program...
Run Code Online (Sandbox Code Playgroud)

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


jim*_*mbo 9

我认为这个其他Stack Overflow答案可以解决您的问题:如何从另一个bat文件在后台运行bat文件?

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

START /B CMD /C CALL "foo.bat" [args [...]] >NUL 2>&1
Run Code Online (Sandbox Code Playgroud)