批處理應用之設置JAVA環境變量


首先要找到JDK安裝路徑

本批處理程序首先假定用戶是按照默認路徑安裝JAVA的(JAVA默認安裝路徑是"C:\Program Files\Java\jdk×××",最后面的×××表示JDK的版本,如我電腦上是jdk1.6.0_12),故設置一個變量JavaPath="C:\Program Files\Java",然后判斷該路徑是否存在,如果不存在就設置JavaPath="D:\Program Files\Java"(考慮到用戶改變路徑時最常做的操作時把要安裝的程序放在D盤),然后模糊搜索JavaPath找到下面以JDK開頭的文件夾,找到后判斷我們要加入系統環境變量中的目錄及文件是否都存在,若不存在則提示用戶輸入JDK安裝路徑,若存在則進入下一步設置JAVA環境變量。

設置JAVA環境變量

一開始想通過執行類似"set path=%path%;JDKPath"的方法設置JAVA環境變量,但用這種方法設置的環境變量只對當前cmd窗口有效(在開始運行中輸入cmd進入dos窗口時,只是獲取到當前系統環境變量的副本,故用此法修改時只是修改了副本中的環境變量,當窗口關閉時就失效了)。考慮到要使設置好的環境變量持久有效,就想到要采用修改系統注冊表的方法,於是先找到系統環境變量對應的注冊表項HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment,然后采用命令REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]分別將JAVA_HOME,Path,ClassPath加入到系統環境變量中,如:reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment" /v JAVA_HOME /t REG_SZ /d "%JDKPath%" /f 是將JAVA_HOME加入到環境變量中。

注意:(1)在加入Path時要把對應值設為\d "%PATH%;%%JAVA_HOME%%\bin"而不能是\d " %JAVA_HOME%%\bin",否則會把原來系統中的Path變量清空。

        (2)在加入Path和ClassPath時要將類型設置為/t REG_EXPAND_SZ,而不是/t REG_SZ,否則系統不會將對應值中的%JAVA_HOME%替換為該變量實際的路徑。

    

使設置的環境變量立即生效

按照上面的方法設置的環境變量,需要用戶重啟電腦或再右擊"我的電腦"->屬性->高級->環境變量,打開環境變量窗口后再單擊下確定后才能生效。想到出現這種情況可能是因為批處理修改注冊表后系統沒有及時刷新引起的,於是找到下面刷新系統設置的命令

taskkill /f /im explorer.exe

start explorer.exe

RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters

執行后,上面設置的環境變量立即生效。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM