Java 正在检索windows批处理文件中文件夹的绝对路径
我有一个包含批处理文件的文件夹,还有一个jar文件和JRE。批处理文件应该通过调用JRE来运行jar。我知道会是这样的:Java 正在检索windows批处理文件中文件夹的绝对路径,java,batch-file,absolute-path,Java,Batch File,Absolute Path,我有一个包含批处理文件的文件夹,还有一个jar文件和JRE。批处理文件应该通过调用JRE来运行jar。我知道会是这样的: <jre-path>/bin/java.exe -jar <jar-path>Executable.jar /bin/java.exe-jar Executable.jar 在批处理文件中,如何检索包含所有这些jar和jre的文件夹的绝对路径?对于这个问题有一个答案:这建议使用%~dp0,但我如何正确地将其用于上面提到的命令?首先,您决定ja
<jre-path>/bin/java.exe -jar <jar-path>Executable.jar
/bin/java.exe-jar Executable.jar
在批处理文件中,如何检索包含所有这些jar和jre的文件夹的绝对路径?对于这个问题有一个答案:这建议使用
%~dp0
,但我如何正确地将其用于上面提到的命令?首先,您决定jar和运行脚本之间的相对路径。脚本将使用您已经提到的答案检测其位置。(~dp0给出了目录)
另一种方法是使用launch4j这样的产品。您可以从variable访问安装位置,为用户提供一个漂亮的启动图标,将jre包含在您的包中,等等 jar文件位于同一文件夹中,即没有子目录。所以我想我可以使用
java.exe-jar%mydir%/exectuble.jar
,对吗?另外,是否不需要指定java.exe
的位置(请记住,在执行批处理文件的机器上可能没有安装JRE)?如果机器上没有java.exe,则无法运行java.exe。请考虑包装你的产品的另一种选择。我只是要求确认,让我测试一下这个问题的代码片段。我编辑了我的答案。如果您只是想要一些java,您可以始终使用没有绝对路径的java.exe。通常,java安装会在system/win32中创建一个虚拟java.exe,该虚拟java.exe将重定向到正确的路径。
mydir=%~dp0
jardir=%mydir%/
..
java.exe -jar %jardir%/exectuble.jar