bat 在win10系统里面重复设置环境变量

开源oschina 发布于 2020/07/11 15:28
阅读 681
收藏 1
Bat
cls
@echo off
echo QQ:87766867编写
:START
set /p home=请输入JDK安装路径:
IF EXIST "%home%\bin\java.exe" GOTO INSTALL

:WARNING
rem 输入目录错误,提示重新输入
echo 您所输入的路径不是JDK安装路径
echo 请重新输入正确的JDK安装路径
pause
goto START

:INSTALL
rem 如输入正确的 Java2SDK 安装目录,开始设置环境变量
echo 输入的路径是:%home%
@setx JAVA_HOME "%home%"
@setx Path "%%JAVA_HOME%%\bin;%Path%"
IF "%CLASSPATH%"=="" goto NOCLASSPATH
@setx CLASSPATH "%CLASSPATH%;.;%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\jre\lib\rt.jar"
GOTO END

:NOCLASSPATH
@setx CLASSPATH ".;%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\jre\lib\rt.jar"
GOTO END

:END
echo Java环境设置完毕
pause

 该.bat为设置java环境变量,但是在win10里面,分xx的用户变量以及系统变量

%Path% 为 用户环境变量+系统变量

这样我setx 就会导致会出现重复值,而且环境变量里面的%SystemRoot% 这样的值会被转成绝对路径不符合要求

麻烦大牛帮忙改下这个bat能经量去掉上面说得重复文,根%SystemRoot%转换问题!

谢谢

 

加载中
0
漂鸟少年
漂鸟少年
问题不是很明显么 setx只操作用户空间 但查询出来包含系统空间 1. 先保存path备份 path1 2. setx path "" 3. 保存备份path path2 4. 在path1中去掉path2得到原来的用户空间path userpath 5. setx path %JAVA_HOME%\bin;%userpath% 这样用户空间跟系统空间的path就没重复了。不过重复就重复了又不是不能用。
开源oschina
开源oschina
就是不回写bat的循环然后去除啊!- -重复了会太长,导致下一个配置文件又不行
0
漂鸟少年
漂鸟少年
wmic environment /?
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部