腳本如下
@echo off
:: TODO:設(shè)置java環(huán)境變量
:: Author: Gwt
color 02
::設(shè)置java的安裝路徑,可方便切換不同的版本
set input=
set /p "input=請輸入java的jdk路徑(或回車默認路徑為C:\Program Files\Java\jdk1.7.0_71):"
if defined input (echo jdk已設(shè)置) else (set input=C:\Program Files\Java\jdk1.7.0_71)
echo jdk路徑為%input%
set javaPath=%input%
::如果有的話,先刪除JAVA_HOME
wmic ENVIRONMENT where "name='JAVA_HOME'" delete
::如果有的話,先刪除ClASS_PATH
wmic ENVIRONMENT where "name='CLASS_PATH'" delete
::創(chuàng)建JAVA_HOME
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%javaPath%"
::創(chuàng)建CLASS_PATH
wmic ENVIRONMENT create name="CLASS_PATH",username="<system>",VariableValue=".;%%JAVA_HOME%%\lib\tools.jar;%
%JAVA_HOME%%\lib\dt.jar;"
::在環(huán)境變量path中,剔除掉變量java_home中的字符,回顯剩下的字符串
call set xx=%Path%;%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin
::echo %xx%
::將返回顯的字符重新賦值到path中
wmic ENVIRONMENT where "name='Path' and username='<system>'" set VariableValue="%xx%"
pause
解釋
@echo off 是關(guān)閉回顯的,不會顯示命令信息 on打開會顯示命令信息
color 02是設(shè)置輸出文本顏色的,這里是控制命令臺輸出綠顏色
set /p "input=請輸入命令信息" 是用來接收控制臺輸入的文本信息的
if else 是用來做判斷 if defined input 是用來判斷用戶是否輸入信息,回車的話,則表示未定義input的值
echo "輸出信息" 是用來顯示信息的
set javaPath=%input% 是用來吧變量input的值賦值給javaPath變量的
wmic 是提供了批處理的命令,可以方便的操作環(huán)境變量值
刪除某一環(huán)境變量 就使用 wmic ENVIRONMENT where "name='JAVA_HOME'" delete命令
創(chuàng)建某一環(huán)境變量 使用 wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%javaPath%"命令
修改某一環(huán)境變量 使用 wmic ENVIRONMENT where "name='Path' and username='<system>'" set VariableValue="value"
注意事項:
1、在上述批處理腳本命令中,要嚴(yán)格注意空格和大小寫等的輸入,不然執(zhí)行不成功的
2、要以管理員方式運行命令,不然提示拒絕執(zhí)行命令的提示