@echo off
:: TODO:设置java环境变量
:: Author: Gwt
color 02
::设置java的安装路径,可方便切换不同的版本
set input=
set /p "input=请输入java的jdk路径(或回车默认路径为C:\Program Files\Java\jdk1.7.0_80):"
if defined input (echo jdk已设置) else (set input=C:\Program Files\Java\jdk1.7.0_80)
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 。指向的是JDK的安装路径
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%javaPath%"
::创建CLASS_PATH 。 搜素class文件的顺序
wmic ENVIRONMENT create name="CLASS_PATH",username="<system>",VariableValue=".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar"
::在环境变量path中,指向jdk的目录。这样在控制台下编译、执行程序时就不需要再键入一大串路径了
call set xx=%Path%;%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin
::echo %xx%
::将返回显的字符重新赋值到path中
wmic ENVIRONMENT where "name='Path' and username='<system>'" set VariableValue="%xx%"
pause
将上面的脚本保存为:JavaAutoBat.bat,双击执行即可。
下面就解释下命令
@echo off 是关闭回显的,不会显示命令信息 on打开会显示命令信息
color 02是设置输出文本颜色的,这里是控制命令台输出绿颜色
set /p "input=请输入命令信息" 是用来接收控制台输入的文本信息的
if else 是用来做判断 if defined input 是用来判断用户是否输入信息,回车的话,则表示未定义input的值
echo "输出信息" 是用来显示信息的
set javaPath=%input% 是用来把变量input的值赋值给javaPath变量的
wmic 是提供了批处理的命令,可以方便的操作环境变量值
删除某一环境变量 就使用 wmic ENVIRONMENT where "name='JAVA_HOME'" delete命令
创建某一环境变量 使用 wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%javaPath%"命令
修改某一环境变量 使用 wmic ENVIRONMENT where "name='Path' and username='<system>'" set VariableValue="value"
注意事项:
1、在上述批处理脚本命令中,要严格注意空格和大小写等的输入,不然执行不成功的
2、要以管理员方式运行命令,不然提示拒绝执行命令的提示
参考自:https://blog.csdn.net/qq_22498277/article/details/72149038
上面的脚本有个缺点,path环境变量中配置的是jdk的bin的绝对路径,当JAVA_HOME切换到其他jdk时需要重新配置,所以最好用JAVA_HOME变量来表示。修改如下:
@echo off
:: TODO:设置java环境变量
:: Author: Gwt
color 02
::设置java的安装路径,可方便切换不同的版本
set /p "input=请输入java的jdk路径(或回车默认路径为C:\Program Files\Java\jdk1.7.0_80):"
if defined input (echo jdk已设置) else (set input=C:\Program Files\Java\jdk1.7.0_80)
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 。指向的是JDK的安装路径
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%javaPath%"
::创建CLASS_PATH 。 搜素class文件的顺序
wmic ENVIRONMENT create name="CLASS_PATH",username="<system>",VariableValue=".;%%JAVA_HOME%%\lib;%%JAVA_HOME%%\lib\tools.jar"
::在环境变量path中,指向jdk的目录。这样在控制台下编译、执行程序时就不需要再键入一大串路径了
wmic ENVIRONMENT where "name='Path' and username='<system>'" set VariableValue="%Path%;%%JAVA_HOME%%\jre\bin;%%JAVA_HOME%%\bin"
pause
网友评论