剛剛在網(wǎng)上看到很多關(guān)于設(shè)置JDK的文章,非常不錯。
但一做實驗,代碼上總有點問題,不是很人性化。
于是選了兩個精煉的腳本,整理成以下代碼
@ECHO OFF
IF EXIST %CD%\bin\java.exe (
IF EXIST %systemroot%\system32\setx.exe (
@ECHO "設(shè)置JAVA_HOME:%CD%"
@SETX JAVA_HOME %CD%
@ECHO "設(shè)置CLASSPATH:.;%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\jre\lib\rt.jar"
@SETX CLASSPATH ".;%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\jre\lib\rt.jar"
@ECHO "設(shè)置PATH:%%JAVA_HOME%%\bin"
@SETX PATH "%%JAVA_HOME%%\bin"
@ECHO JDK環(huán)境變量設(shè)置成功
) ELSE (
@ECHO ON
@ECHO 未能找到%systemroot%\system32\setx.exe,請下載setx.exe程序
)
) ELSE (
@ECHO ON
@ECHO JDK安裝目錄不正確,未能按照預(yù)期計劃執(zhí)行
)
@PAUSE
將上面藍色部分代碼COPY下來。另存為 JDKConfig.bat 文件 保存在 JDK安裝目錄 下。雙擊,如沒錯誤提示,估計設(shè)置成功。
注意:
路徑最好就用 " " 包括起來,以防路徑中含有空格
本人喜歡把它設(shè)置成用戶變量類型,這樣配置比較清晰,容易修改,反正平常都是單用戶登陸的,
其實就跟系統(tǒng)變量沒兩樣
%CD%
在命令提示符下。輸入 echo %CD% 你就知道它有什么用的了。
例如這樣輸入 C:\Documents and Settings\Administrator>echo %CD%
它會輸出 C:\Documents and Settings\Administrator
沒錯,就是當前路徑。
IF EXIST %CD%\bin\java.exe 這條語句其實就是檢測當前目錄是不是JDK的安裝目錄
%systemroot%
即WINDOWS安裝目錄
%%JAVA_HOME%%
平時我的電腦設(shè)置環(huán)境變量時,就要輸入%JAVA_HOME% 那干嗎還要來多雙%%?
那是因為在DOS下,取出JAVA _HOME的時候,需要一雙%% ,但是如果就這樣設(shè)置的話
可能就會出現(xiàn)這樣的值 JAVA_HOME\bin 因此,還需要雙%% 來把JAVA_HOME夾死在中間
@setx
當腳本執(zhí)行到它時,會調(diào)用setx.exe這個小程序(注:系統(tǒng)文件夾System32下不一定有它,需要另行下載)
它可以將變量保存在電腦中,具體來說,其實就放在注冊表中
你可以在這個分支上看到所有的系統(tǒng)變量
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
如果你已經(jīng)執(zhí)行了上面的腳本,但是發(fā)現(xiàn)在這個分支上沒有值。請勿恐慌。
SetX 有三種使用方式:
語法 1:
SETX [/S system [/U [domain\]user [/P [password]]]] var value
語法 2:
SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath
語法 3:
SETX [/S system [/U [domain\]user [/P [password]]]]
/F file {var {/A x,y | /R x,y string}
| /X} [/D delimiters]
上面的實例用的就是語法1,需要把環(huán)境變量寫進系統(tǒng)變量里面的,只需要在后面加 /M
更詳細的解釋可以看它的幫助 setx /?
@PAUSE
@#$%&不用解釋吧 =_=" 百度知道。。。