1. 程式人生 > >WIN7\win10下使用批處理配置JAVA環境變數

WIN7\win10下使用批處理配置JAVA環境變數

我找了很多環境變數批處理的教程,都不太滿意,因此綜合修改了下,拼湊出了這麼一個版本。

該部落格程式碼中的PATH,CLASSPATH,JAVA_HOME和我常用的配置不太一樣,而且發現PATH原本想要在系統變數的基礎上新增java_path值,結果卻變成:
使用者變數Path=Java_path值+系統變數Path值。
如果原本使用者變數和系統變數有些不同的話,會導致使用者變數被系統變數覆蓋,可能存在隱患。

因此針對Path的設定,又參照了以下這篇部落格做出調整:
http://blog.csdn.net/lioncode/article/details/6037683
使用以下語句修改Path:
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;C:\Program Files\Java\jdk1.5.0_07\bin"


並通知系統Path已經更新,使環境變數的改變立即生效
setx path "%path%"

最後修改的bat如下:

@echo off
echo ************************************************************  
echo *                                                          *  
echo *        JDK 系統環境變數設定,請用管理員身份執行           *  
echo *                                                          *  
echo
************************************************************ echo. :START set /p javahome=請輸入JDK安裝路徑: IF EXIST "%javahome%\bin\java.exe" GOTO INSTALL :WARNING rem 輸入目錄錯誤,提示重新輸入 echo 您所輸入的路徑不是JDK安裝路徑 echo 請重新輸入正確的JDK安裝路徑 pause goto START :INSTALL rem 如輸入正確的 JavaSDK 安裝目錄,開始設定環境變數 echo 輸入的路徑是:%javahome%
rem LPY echo. echo === 準備設定環境變數: JAVA_HOME=%javahome% echo === 注意: 如果JAVA_HOME存在,會被覆蓋,此操作不可逆的,請仔細檢查確認!! === echo. echo === 準備設定環境變數(後面有個.): CLASSPATH=.;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar; echo === 注意: 如果CLASSPATH存在,會被覆蓋,此操作不可逆的,請仔細檢查確認!! === echo. echo === 準備設定環境變數: PATH=%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin; echo === 注意: PATH會追加在最前面, echo. set /P EN=請確認後按 回車鍵 開始設定! echo. echo. echo. echo. echo === 新建立環境變數 JAVA_HOME=%javahome% setx "JAVA_HOME" "%javahome%" -M echo. echo. echo === 新建立環境變數 CLASSPATH=.;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar; setx "CLASSPATH" ".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar;" -M echo. echo. echo === 新追加環境變數(追加到最前面) PATH=%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin; wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;%path%" setx path "%path%" echo. echo. rem LPY http://blog.csdn.net/sadwxds/article/details/52984272 echo === 請按任意鍵退出! pause>nul