如何在批处理文件中使用启动命令?
Posted
技术标签:
【中文标题】如何在批处理文件中使用启动命令?【英文标题】:How to use the start command in a batch file? 【发布时间】:2013-06-16 14:14:54 【问题描述】:我有一个批处理文件,它使用大量命令行参数启动应用程序:
"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"
我也试过转义双引号,但没有成功。
我该如何解决这个问题?
【问题讨论】:
如何启动批处理文件?您是否从命令提示符调用它? @jimbojw 不,只需双击文件。 看看 - ss64.com/nt/start.html. 【参考方案1】:额外的一对兔子耳朵应该可以解决问题。
start "" "C:\Program...
START
将第一个引用的参数视为窗口标题,除非它是唯一的参数 - 直到可执行文件名称之前的任何开关都被视为 START
开关。
【讨论】:
【参考方案2】:我认为 *** 的其他答案可以解决您的问题: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
【讨论】:
那个问题是异步调用其他批处理文件。不幸的是,它并没有解决我的具体问题。以上是关于如何在批处理文件中使用启动命令?的主要内容,如果未能解决你的问题,请参考以下文章
在 Windows 7 的批处理文件中使用启动命令后,“没有足够的存储空间来处理此命令”