【问题标题】:How to start an application without waiting in a batch file?如何在不等待批处理文件的情况下启动应用程序?
【发布时间】:2010-05-30 04:42:47
【问题描述】:

有什么方法可以在不等待批处理文件的情况下执行应用程序?我试过start 命令,但它只是创建了一个新的命令窗口。

【问题讨论】:

  • 注意——对于那些使用 Windows 批处理脚本做相关事情的人:如果进程 Cstart-ed 在 call-ed .bat-文件 B (依次从 A 调用),并且 CB 完成后保持打开状态(例如 C 是一个服务或只是等待事情发生并且在操作系统关闭之前没有固定端点的东西),父 A 包含call除非进程 C 关闭或被杀死,否则可能无法按预期终止。这是一个简单的例子:codepad.org/KLglXDnZ

标签: windows batch-file


【解决方案1】:

我在这里猜测,但您的 start 调用可能如下所示:

start "\Foo\Bar\Path with spaces in it\program.exe"

这将打开一个新的控制台窗口,使用“\Foo\Bar\Path with space in it\program.exe”作为标题。

如果您将start 与被(或需要)被引号包围的内容一起使用,则需要将空引号作为第一个参数:

start "" "\Foo\Bar\Path with spaces in it\program.exe"

这是因为start它找到的第一个引用参数解释为新控制台窗口的窗口标题。

【讨论】:

  • 在实际路径前加双引号的绝妙提示。我永远不会猜到这一点。谢谢分享。
  • 感谢它的帮助。我还使用了 ss64.com/nt/start.html 中提到的 /SEPARATE 选项
  • @Ayusman:这些选项仅适用于 16 位程序。我当然希望你身边没有这些。
  • 当然,它不必是空引号......你可以给它一个实际相关的标题。我强烈推荐这个,因为它会让其他看到它的人更清楚发生了什么。 start "Obligatory Atavistic Window Title" "\Foo\Bar\Path with spaces in it\program.exe"
  • 经过数小时的谷歌搜索,我终于找到了答案。谢谢!
【解决方案2】:

我为此使用了 start /b 而不是 start 并且它在每个命令都没有窗口的情况下运行,所以没有等待。

【讨论】:

  • 正是我想要的!
【解决方案3】:

如果你的 exe 接受参数,

start MyApp.exe -arg1 -arg2

【讨论】:

    【解决方案4】:

    如果start 找不到它要查找的内容,它会按照您的描述进行操作。

    由于您所做的应该有效,因此您很可能会遗漏一些引号(或添加额外内容)。

    【讨论】:

    • 是的,我确实放了两个引号。但它们是长路径名所必需的。如何解决问题?
    【解决方案5】:

    EDIT 根据Nime Cloud 的建议,将/B 参数/开关移至命令路径之前

    我成功使用了@joey's的组合,并添加了/B标志,如下

    START "" /B "Path\To\Application.exe"

    帮助命令的部分输出:HELP START...

      B  Start application without creating a new window. The
         application has ^C handling ignored. Unless the application
         enables ^C processing, ^Break is the only way to interrupt
         the application.
    

    【讨论】:

    • 使用 /B 作为第一个参数以避免与应用程序的参数冲突。
    【解决方案6】:

    此命令在单独的控制台窗口中使用 clamd.exe 的自定义图标启动 ClamAV

    start "c:\clamav\clamd.exe" "c:\clamav\clamd.exe"
    

    所以通用格式是这样的:

    start "Your new title" "c:\path\your.exe"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-24
      • 1970-01-01
      • 2016-05-24
      • 1970-01-01
      • 2014-05-14
      • 2019-03-31
      相关资源
      最近更新 更多