执行java应用程序的批处理文件

发布于 2024-12-22 12:07:29 字数 585 浏览 3 评论 0原文

我有一个 java 应用程序,我希望执行 Windows 批处理文件。我可以知道为什么以下批处理文件代码不起作用以及如何纠正它们?该脚本应首先检查 32 位 Java,然后再继续检查 64 位 Java。

我还希望我的批处理文件能够处理 Java 6 及更高版本,并包含 JRE 或 JDK 环境。我将如何修改我的批处理文件来处理它们。

批处理脚本:

@ECHO OFF 
IF EXIST "C:\Program Files (x86)\Java" (
    start C:\Program Files (x86)\Java\jre7\bin\java -jar %~dp0\JavaShop.jar
) ELSE (
    IF EXIST "C:\Program Files\Java" C:\Program Files\Java\jre6\bin\java -jar %~dp0\JavaShop.jar
    ELSE ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
    PAUSE
)

I have a java application I would like my Windows batch file to execute. May I know why the following batch file codes do not work and how I can correct them ? The script should check for 32bit Java first before proceeding to check for 64 bit Java.

I would also like my batch file to handle Java 6 and above versions and inclusive of JRE or JDK environments. How would I modify my batch file to handle them.

Batch Script:

@ECHO OFF 
IF EXIST "C:\Program Files (x86)\Java" (
    start C:\Program Files (x86)\Java\jre7\bin\java -jar %~dp0\JavaShop.jar
) ELSE (
    IF EXIST "C:\Program Files\Java" C:\Program Files\Java\jre6\bin\java -jar %~dp0\JavaShop.jar
    ELSE ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
    PAUSE
)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

盗心人 2024-12-29 12:07:29

我认为如果您尝试预测所有可能的安装路径,您就会失败。当然,如果Java在机器上可用,它已经在它的路径上,即可以通过:

java

也在你的“开始”行中,并且假设硬编码路径足够好,由于空格字符,你将需要在路径周围使用“字符在其中。

I think you're onto a loser if you try to anticipate all likely install paths. Surely if Java's available on the machine, it's already on its path, i.e. available via just:

java

Also in your "start" line, and assuming a hardcoded path was good enough, you would need " chars around the path, due to the space character in it.

暮色兮凉城 2024-12-29 12:07:29

您的执行路径中有空格字符。尝试一下

@ECHO OFF 
IF EXIST "C:\Program Files (x86)\Java\jre7" (
    start "C:\Program Files (x86)\Java\jre7\bin\java.exe" -jar %~dp0\JavaShop.jar
) ELSE (
    IF EXIST "C:\Program Files\Java\jre6" 
    start "C:\Program Files\Java\jre6\bin\java.exe" -jar %~dp0\JavaShop.jar
    ELSE ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
    PAUSE
)

最好的办法是检查环境变量 JAVA_HOME 是否已设置。如果设置了,那么系统中就会安装java。

@ECHO OFF 
IF EXIST %JAVA_HOME% (
    start %JAVA_HOME%\bin\java.exe -jar %~dp0\JavaShop.jar
) ELSE (
    ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
    PAUSE
)

如果您没有设置 JAVA_HOME,您可以尝试使用 java 命令本身。

@ECHO OFF 
IF EXIST java (
    start java -jar %~dp0\JavaShop.jar
) ELSE (
    ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
    PAUSE
)

You have space characters in your execution path. Try this

@ECHO OFF 
IF EXIST "C:\Program Files (x86)\Java\jre7" (
    start "C:\Program Files (x86)\Java\jre7\bin\java.exe" -jar %~dp0\JavaShop.jar
) ELSE (
    IF EXIST "C:\Program Files\Java\jre6" 
    start "C:\Program Files\Java\jre6\bin\java.exe" -jar %~dp0\JavaShop.jar
    ELSE ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
    PAUSE
)

The best thing to do though is to check if the environmental variable JAVA_HOME is set. If it is set, then java is installed in the system.

@ECHO OFF 
IF EXIST %JAVA_HOME% (
    start %JAVA_HOME%\bin\java.exe -jar %~dp0\JavaShop.jar
) ELSE (
    ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
    PAUSE
)

If you don't have a JAVA_HOME set you could just try the java command itself.

@ECHO OFF 
IF EXIST java (
    start java -jar %~dp0\JavaShop.jar
) ELSE (
    ECHO Java software not found on your system. Please go to http://java.com/en/ to download a copy of Java.
    PAUSE
)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文