【问题标题】: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 不,只需双击文件。

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


【解决方案1】:

额外的一对兔子耳朵应该可以解决问题。

start "" "C:\Program...

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

【讨论】:

    【解决方案2】:

    我认为 StackOverflow 的其他答案可以解决您的问题: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
    

    【讨论】:

    • 那个问题是异步调用其他批处理文件。不幸的是,它并没有解决我的具体问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多