java Bat文件在退出时打开空白命令提示符
我有一本书。jar文件和一个特定的jre文件夹。jar,这样用户就不必下载Java,或者如果他们没有Java,它仍然可以工作
启动这个。jar文件我正在使用一个。bat文件如下图所示
%~dp0jre\bin\java.exe -jar %~dp0myJar.jar
%~dp0
部分用于查找jre文件的路径和。jar文件
但问题是,无论何时。bat文件已经启动了。jar文件,命令提示符仍然打开。我知道这是因为我的程序是一个“窗口”应用程序,因此命令提示符会在程序启动后首先关闭。jar程序已经完成
为了解决这个问题,我试图修改。bat文件使用以下不同的方法。(不是一次全部,一次一个)
start %~dp0jre\bin\java.exe -jar %~dp0myJar.jar
start "" "%~dp0jre\bin\java.exe" -jar %~dp0myJar.jar
start %~dp0jre\bin\java.exe -jar %~dp0myJar.jar
exit
start "" "%~dp0jre\bin\java.exe" -jar %~dp0myJar.jar
exit
%~dp0jre\bin\java.exe -jar %~dp0myJar.jar
exit
但是。。。当使用这些方法时,这些方法似乎对其他人有效,而不是完全关闭命令提示符。它退出命令提示符,该提示符将启动。然后打开一个空白的命令提示符。当关闭时。jar然后关闭新的空白命令提示符,或者如果我关闭新的空白命令提示符,它也会关闭。罐子
我无法确切地理解为什么会出现这种情况,以及为什么它不只是退出启动命令的第一个命令提示符。罐子,然后就是了
为了试图解决这个问题,我从this等问题中获得了灵感
更新
只是尝试直接从命令提示符运行命令,而不是使用实际的。蝙蝠档案。但是因为我使用这个方法来获取jre和的完整路径。在Bat文件中,我不得不使用完整路径。然而,这一次,通过使用这种方法,它实际上起了作用
my\long\path\jre\bin\java.exe -jar my\long\path\myJar.jar
exit
但是当使用相同的方法时。BAT文件不打开空白命令提示符,但它从不退出第一个“原始”命令提示符。
# 1 楼答案
经过几次不同的尝试,对于各种各样的命令,我发现对于我的例子来说,有效的方法是在任何命令的后记前面使用
start /B
。在我的例子中,命令如下所示我找到解决方案的问题/答案是following