我想创建一个批处理文件,以便在对自身进行一些更改后启动我的可执行文件。
我的批处理文件是:
START /D "C:\Users\me\AppData\Roaming\Test\Test.exe"
当我运行它时,我只是得到一个简短的控制台闪存并且Test.exe没有启动。
我已经验证了目录中的EXE。 我手动启动了exe以验证它是否正常工作。
我的批处理文件位于
C:\Users\admin\AppData\Roaming\run.bat"
答案 0 :(得分:2)
有两个问题:
/D
选项仅定义起始或工作目录,但不定义要执行的程序。start
命令将第一个引用的参数视为新窗口的标题。为避免与其他参数混淆,请始终提供窗口标题(也可能为空)。有两种解决方案,实际上并不完全等效:
删除/D
选项,以便使用当前工作目录:
start "" "C:\Users\me\AppData\Roaming\Test\Test.exe"
保留/D
选项并明确提供要使用的新工作目录:
start "" /D "C:\Users\me\AppData\Roaming\Test" "Test.exe"
答案 1 :(得分:0)
将所有长度超过一个单词的目录名称都用引号引起来。因此,以下路径:
start C:\Program Files\MySQL\MySQL Workbench 8.0 CE\MySQL.exe
应该变成这样:
start C:\"Program Files"\MySQL\"MySQL Workbench 8.0 CE"\MySQL.exe
答案 2 :(得分:0)
尝试使用以下命令。将其添加到批处理脚本中。请注意,如果路径字符串中有空格,则必须在 start 关键字后添加双引号。
start "" "C:\Users\me\AppData\Roaming\Test\Test.exe"
答案 3 :(得分:-1)
尝试更改为
start /d "C:\Users\me\AppData\Roaming\Test" Test.exe
您将看到控制台闪存,您的程序应该启动。
<强>更新强>
感谢@SomethingDark建议使用以下代码。
start "" C:\Users\me\AppData\Roaming\Test\Test.exe
但是,如果您的文件名包含空格,则上述代码将无效。