2011-12-22 42 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

相關問題