
批處理自動設置系統變量問題先上代碼,我自己不是很懂bat,所以是從幾個大神的bat里面拼接出來的目前的問題是在安裝java環境變量時,第二次安裝沒辦法剔除掉第一次寫入到PATH變量中的字符,會導致path變量中有重復的java內容所以我應該改哪里,如何更改,同理安裝maven也是有同樣的問題。::在環境變量path中,剔除掉變量java_home中的字符,回顯剩下的字符串call set xx=%Path%;%javaPath%jrebin;%javaPath%bin
nclick="copycode($('code0'));">復制代碼
- @echo off
- title java環境變量配置
- color 0A
- echo.
- echo. ===================================================
- echo.
- echo 即將配置環境變量......
- echo.
- echo 確定(鼠標右擊)以管理員方式打開
- echo.
- echo 配置Java,Maven環境
- echo.
- echo. ===================================================
- echo.
- echo1 (配置Java環境變量)
- echo.
- echo2 (配置Maven環境變量)
- echo.
- echo3 (退出程序)
- echo.
- echo. ===================================================
- echo.
- SET /P ST= 請選擇:
- echo.
- if /I %ST%==1 goto javah
- if /I %ST%==2 goto mavenh
- if /I %ST%==3 goto exh
- echo無效選擇,按任意鍵退出!
- pause >nul
- exit
- :javah
- echoJAVA_HOME
- echo %JAVA_HOME%
- if defined JAVA_HOME (echo 已經存在JAVA_HOME配置!繼續設置輸入1) else (goto setjavah)
- SET /P javainput= 請選擇:
- if /I %javainput%==1 goto setjavah
- echo 按任意鍵退出!
- pause >nul
- exit
- :mavenh
- if defined MAVEN_HOME (echo 已經存在MAVEN_HOME配置!繼續設置輸入2) else (goto setmavenh)
- SET /P maveninput= 請選擇:
- if /I %maveninput%==2 goto setmavenh
- echo 按任意鍵退出!
- pause >nul
- exit
- :setjavah
- set /p input=請輸入java的jdk路徑(或回車默認路徑為C:Program FilesJavajdk1.8.0_311):
- if defined input (echo jdk路徑已設置) else (set input=C:Program FilesJavajdk1.8.0_311)
- echo jdk路徑為%input%
- set javaPath=%input%
- ::如果有的話,先刪除JAVA_HOME
- wmic ENVIRonMENT where name='JAVA_HOME' delete
- ::如果有的話,先刪除ClASS_PATH
- wmic ENVIRonMENT where name='CLASS_PATH' delete
- ::創建JAVA_HOME
- wmic ENVIRonMENT create name=JAVA_HOME,username=<system>,Variablevalue=%javaPath%
- ::創建CLASS_PATH
- wmic ENVIRonMENT create name=CLASS_PATH,username=<system>,Variablevalue=.;%%javaPath%%libtools.jar;%%javaPath%%libdt.jar;
- ::在環境變量path中,剔除掉變量java_home中的字符,回顯剩下的字符串
- call set xx=%Path%;%javaPath%jrebin;%javaPath%bin
- echo %xx%
- ::將返回顯的字符重新賦值到path中
- wmic ENVIRonMENT where name='Path' and username='<system>' set Variablevalue=%xx%
- goto setmessage
- :setmavenh
- set /p minput=請輸入Maven所在路徑(或回車默認路徑為E:apache-maven-3.8.4):
- if defined minput (echo Maven路徑已設置) else (set minput=E:apache-maven-3.8.4)
- echo Maven路徑為%minput%
- set mavenPath=%minput%
- ::如果有的話,先刪除MAVEN_HOME
- wmic ENVIRonMENT where name='MAVEN_HOME' delete
- ::創建MAVEN_HOME
- wmic ENVIRonMENT create name=MAVEN_HOME,username=<system>,Variablevalue=%mavenPath%
- ::在環境變量path中,剔除掉變量MAVEN_HOME中的字符,回顯剩下的字符串
- call set xx=%Path%;%mavenPath%bin
- echo %xx%
- echo %mavenPath%
- ::將返回顯的字符重新賦值到path中
- wmic ENVIRonMENT where name='Path' and username='<system>' set Variablevalue=%xx%
- goto setmessage
- :setexist
- echo.
- echo已經存在配置,按任意鍵退出!
- goto exh
- :setmessage
- echo.
- echo配置完成,請重啟,按任意鍵退出!
- goto exh
- :exh
- echo.
- echo. ===================================================
- echo.
- pause >nul
- exit
- pause

