1. 程式人生 > >通過bat指令碼修改環境變數並且不用重啟立即生效

通過bat指令碼修改環境變數並且不用重啟立即生效

 系統中在C:\WINDOWS\system32下面,有一個exe檔案setx.exe,通過此命令可以設定立即生效,有的系統沒有此檔案,需要拷貝到此目錄中

@ECHO OFF 
IF EXIST %systemroot%\system32\setx.exe ( 
echo 正在配置環境變數,請稍候......

echo 下面的一段為修改登錄檔系統環境變數內容立即生效

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME /t reg_sz /d "%~dp0jdk-1.6" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME2 /t reg_sz /d "%~dp0jdk-1.6" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JRE_HOME /t reg_sz /d "%~dp0jdk-1.6\jre" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Tomcat_Home /t reg_sz /d "%~dp0apache-tomcat-1;%~dp0apache-tomcat-2" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v ClassPath /t reg_sz /d ".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t reg_sz /d "%%JAVA_HOME%%\bin;%%Tomcat_Home%%\bin;" /f

echo 下面的一段為修改登錄檔使用者對應環境變數內容立即生效

reg add "HKCU\Environment" /v JAVA_HOME /t reg_sz /d "%~dp0jdk-1.6" /f
reg add "HKCU\Environment" /v JAVA_HOME2 /t reg_sz /d "%~dp0jdk-1.6" /f
reg add "HKCU\Environment" /v JRE_HOME /t reg_sz /d "%~dp0jdk-1.6\jre" /f
reg add "HKCU\Environment" /v Tomcat_Home /t reg_sz /d "%~dp0apache-tomcat-1;%~dp0apache-tomcat-2" /f
reg add "HKCU\Environment" /v ClassPath /t reg_sz /d ".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar" /f
reg add "HKCU\Environment" /v Path /t reg_sz /d "%%JAVA_HOME%%\bin;%%Tomcat_Home%%\bin;" /f

echo 下面的一段為用setx命令修改環境變數,此操作完成後,在我的電腦-屬性-高階-環境變數裡面會發生改變,在cmd裡面用echo %java_home%檢視,也會發生改變

setx JAVA_HOME "%~dp0jdk-1.6" -m
setx JAVA_HOME2 "%~dp0jdk-1.6" -m
setx JRE_HOME "%~dp0jdk-1.6\jre" -m
setx Tomcat_Home "%~dp0apache-tomcat-1;%~dp0apache-tomcat-2" -m
setx ClassPath ".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar" -m
setx Path "%systemroot%;%systemroot%\system32;%systemroot%\system32\wbem;%%JAVA_HOME%%\bin;%%Tomcat_Home%%\bin;" -m


@ECHO Java環境變數設定成功 
) ELSE ( 
@ECHO ON 
@ECHO 未能找到%systemroot%\system32\setx.exe,安裝setx.exe 
@copy "%~dp0\setx.exe" %SystemRoot%\system32 /y

echo 正在配置環境變數,請稍候......

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME /t reg_sz /d "%~dp0jdk-1.6" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JAVA_HOME2 /t reg_sz /d "%~dp0jdk-1.6" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v JRE_HOME /t reg_sz /d "%~dp0jdk-1.6\jre" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Tomcat_Home /t reg_sz /d "%~dp0apache-tomcat-1;%~dp0apache-tomcat-2" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v ClassPath /t reg_sz /d ".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar" /f
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path /t reg_sz /d "%%JAVA_HOME%%\bin;%%Tomcat_Home%%\bin;" /f

reg add "HKCU\Environment" /v JAVA_HOME /t reg_sz /d "%~dp0jdk-1.6" /f
reg add "HKCU\Environment" /v JAVA_HOME2 /t reg_sz /d "%~dp0jdk-1.6" /f
reg add "HKCU\Environment" /v JRE_HOME /t reg_sz /d "%~dp0jdk-1.6\jre" /f
reg add "HKCU\Environment" /v Tomcat_Home /t reg_sz /d "%~dp0apache-tomcat-1;%~dp0apache-tomcat-2" /f
reg add "HKCU\Environment" /v ClassPath /t reg_sz /d ".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar" /f
reg add "HKCU\Environment" /v Path /t reg_sz /d "%%JAVA_HOME%%\bin;%%Tomcat_Home%%\bin;" /f

setx JAVA_HOME "%~dp0jdk-1.6" -m
setx JAVA_HOME2 "%~dp0jdk-1.6" -m
setx JRE_HOME "%~dp0jdk-1.6\jre" -m
setx Tomcat_Home "%~dp0apache-tomcat-1;%~dp0apache-tomcat-2" -m
setx ClassPath ".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar" -m
setx Path "%systemroot%;%systemroot%\system32;%systemroot%\system32\wbem;%%JAVA_HOME%%\bin;%%Tomcat_Home%%\bin;" -m


@ECHO Java環境變數設定成功 


@PAUSE