2011-12-22 41 views
0

我有一个Java应用程序我希望我的Windows批处理文件执行。我可否知道为什么以下批处理文件代码不起作用以及我如何纠正它们?在继续检查64位Java之前,脚本应先检查32位Java。执行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 
) 
+1

出于好奇,为什么32位先? 32位已基本死亡 – fge 2011-12-22 13:06:33

+0

没有正确理解你的问题,你是否想从你的Java程序执行批处理文件?或者您试图从批处理文件运行JavaShop.jar? – 2011-12-22 13:06:56

+2

这里有什么错误?也许与空格名称是一个问题。尝试“双引号”他们。 – 2011-12-22 13:09:38

回答

6

我认为你是在一个失败者,如果你试图预测所有可能的安装路径。当然,如果Java的可用的机器上,它已经在其路径上,即可以通过刚:

java 

另外在你的“开始”行,并假设一个硬编码的路径是不够好,你需要“周围的字符路径,由于它的空格字符。

+0

+1;例如我从来不会将我的JDK,JRE安装在默认位置。 – home 2011-12-22 13:16:14

+0

我将Java JDK安装为64位,当我进入我的命令行并键入java时,它告诉我它不被识别。我需要专门去64位Java来执行它,否则它不会被识别。 – thotheolh 2011-12-22 13:45:31

+0

如果你不能去C:\并运行“java”,那么它不在你机器的路径上。欲了解更多信息,请阅读: http://www.java.com/en/download/help/path.xml – Brian 2011-12-22 13:46:45

1

您有空格字符在您的执行路径。试试这个

@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 
) 
+0

我运行它,它说没有指定语法是不正确的。 – thotheolh 2011-12-22 13:44:11

+0

@thotheolh哪个版本? JAVA_HOME之一? – Efthymis 2011-12-22 13:52:48

+0

我注意到,尽管已经在系统中安装了Java 7,我的JAVA_HOME仍未设置。两个版本都有语法错误。 – thotheolh 2011-12-22 13:59:45

相关问题