通过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
[解决办法]
楼上,在bathome里面的id是什么?