WIN7\win10下使用批处理配置JAVA环境变量

时间:2022-09-03 07:13:01

我找了很多环境变量批处理的教程,都不太满意,因此综合修改了下,拼凑出了这么一个版本。

下面这个是我主要参考的博客,大部分的代码都是来自这里: 
http://blog.csdn.net/lpy3654321/article/details/9822439

该博客代码中的PATH,CLASSPATH,JAVA_HOME和我常用的配置不太一样,而且发现PATH原本想要在系统变量的基础上添加java_path值,结果却变成: 
用户变量Path=Java_path值+系统变量Path值。 
如果原本用户变量和系统变量有些不同的话,会导致用户变量被系统变量覆盖,可能存在隐患。

因此针对Path的设置,又参照了以下这篇博客做出调整: 
http://blog.csdn.net/lioncode/article/details/6037683 
使用以下语句修改Path: 
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;C:\Program Files\Java\jdk1.5.0_07\bin" 
并通知系统Path已经更新,使环境变量的改变立即生效 
setx path "%path%"

最后:因为不想要每次都编辑批处理文件的jdk目录,参照这篇博客,改为在命令行中输入目录。 
http://www.cnblogs.com/meetrice/archive/2012/09/18/2690553.html

最后修改的bat如下:

@echo off
echo ************************************************************
echo * *
echo * JDK 系统环境变量设置,请用管理员身份运行 *
echo * *
echo ************************************************************
echo.
:START
set /p javahome=请输入JDK安装路径:
IF EXIST "%javahome%\bin\java.exe" GOTO INSTALL
:WARNING
rem 输入目录错误,提示重新输入
echo 您所输入的路径不是JDK安装路径
echo 请重新输入正确的JDK安装路径
pause
goto START
:INSTALL
rem 如输入正确的 JavaSDK 安装目录,开始设置环境变量
echo 输入的路径是:%javahome%
rem LPY
echo.
echo === 准备设置环境变量: JAVA_HOME=%javahome%
echo === 注意: 如果JAVA_HOME存在,会被覆盖,此操作不可逆的,请仔细检查确认!! ===
echo.
echo === 准备设置环境变量(后面有个.): CLASSPATH=.;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar;
echo === 注意: 如果CLASSPATH存在,会被覆盖,此操作不可逆的,请仔细检查确认!! ===
echo.
echo === 准备设置环境变量: PATH=%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;
echo === 注意: PATH会追加在最前面,
echo.
set /P EN=请确认后按 回车键 开始设置!
echo.
echo.
echo.
echo.
echo === 新创建环境变量 JAVA_HOME=%javahome%
setx "JAVA_HOME" "%javahome%" -M
echo.
echo.
echo === 新创建环境变量 CLASSPATH=.;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar;
setx "CLASSPATH" ".;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\lib\tools.jar;" -M
echo.
echo.
echo === 新追加环境变量(追加到最前面) PATH=%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin; wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;%path%"
setx path "%path%"
echo.
echo.
rem LPY http://www.cnblogs.com/bingyeh/p/7528863.html
echo === 请按任意键退出!
pause>nul