【问题标题】:Batch How to start a program批处理 如何启动程序
【发布时间】:2017-04-09 09:17:04
【问题描述】:

我想创建一个批处理文件来在我的可执行文件对其自身进行一些更改后启动它。

我的批处理文件是:

START /D "C:\Users\me\AppData\Roaming\Test\Test.exe"

当我运行它时,虽然我只是得到一个短暂的控制台闪烁,但 Test.exe 没有启动。

我已验证该 EXE 是否在目录中。 我已经手动启动了 exe 以验证它是否正常工作。

我的批处理文件位于

C:\Users\admin\AppData\Roaming\run.bat"

【问题讨论】:

  • /D 表示起始目录。删除它。
  • 当我把它不带 /d 时,我会显示一个命令提示符窗口,但我的 Test.exe 没有启动
  • 它可能认为你的论点是一个标题(见start /?)。试试start "" "c:\users\me\appdata\roaming\test\test.exe"
  • 始终从命令提示符运行批处理脚本,而不是双击它们。这样,您实际上可以阅读得到的错误是什么。

标签: batch-file cmd


【解决方案1】:

有两个问题:

  1. /D 选项仅定义起始目录或工作目录,而不是要执行的程序。
  2. start 命令将第一个引用的参数视为新窗口的标题。为避免与其他参数混淆,请始终提供窗口标题(也可能为空)。

有两种解决方案,实际上并不完全等效:

  1. 去掉/D选项,所以使用当前工作目录:

    start "" "C:\Users\me\AppData\Roaming\Test\Test.exe"
    
  2. 保留/D 选项并明确提供要使用的新工作目录:

    start "" /D "C:\Users\me\AppData\Roaming\Test" "Test.exe"
    

【讨论】:

    【解决方案2】:

    试着改成这个

    start /d "C:\Users\me\AppData\Roaming\Test" Test.exe
    

    您将看到控制台闪烁,您的程序应该会启动。

    更新

    感谢@SomethingDark 建议使用以下代码。

    start "" C:\Users\me\AppData\Roaming\Test\Test.exe
    

    但是,如果您的文件名包含空格,上述代码将不起作用。

    【讨论】:

    • 你有一个额外的报价,/D 标志不属于。
    • @SomethingDark 谢谢。 /D flag doesn't belong 是什么意思?
    • 意思是把它拿出来用完整路径代替。 start "" C:\Users\me\AppData\Roaming\Test\Test.exe
    • 我收到错误Windows cannot find the file. Make sure you typed the name correctly, and then try again.,但使用上面提供的代码,exe 文件已成功打开。
    • @SomethingDark 我发现了它为什么不起作用。检查更新。
    【解决方案3】:

    将任何超过一个单词的目录名称用引号引起来。所以如下路径:

       start C:\Program Files\MySQL\MySQL Workbench 8.0 CE\MySQL.exe
    

    应该变成这样:

       start C:\"Program Files"\MySQL\"MySQL Workbench 8.0 CE"\MySQL.exe
    

    【讨论】:

    • 我知道它有效,但是 - 不要那样做。始终引用完整路径:"C:\Program Files\MySQL\MySQL Workbench 8.0 CE\MySQL.exe"(并添加一个伪标题:start "" "blah blah"
    【解决方案4】:

    尝试使用以下命令。将其添加到批处理脚本中。请注意,如果路径字符串中有空格,则必须在 start 关键字后添加双引号。

    start "" "C:\Users\me\AppData\Roaming\Test\Test.exe"
    

    【讨论】:

      猜你喜欢
      • 2016-05-24
      • 2018-04-22
      • 2017-07-27
      • 1970-01-01
      • 2012-01-06
      • 2013-08-20
      • 2019-03-31
      • 2018-09-27
      • 2014-05-14
      相关资源
      最近更新 更多