批处理应用之设置JAVA环境变量

首先要找到JDK安装路径

本批处理程序首先假定用户是按照默认路径安装JAVA的(JAVA默认安装路径是"C:\Program Files\Java\jdk×××",最后面的×××表示JDK的版本,如我电脑上是jdk1.6.0_12),故设置一个变量JavaPath="C:\Program Files\Java",然后判断该路径是否存在,如果不存在就设置JavaPath="D:\Program Files\Java"(考虑到用户改变路径时最常做的操作时把要安装的程序放在D盘),然后模糊搜索JavaPath找到下面以JDK开头的文件夹,找到后判断我们要加入系统环境变量中的目录及文件是否都存在,若不存在则提示用户输入JDK安装路径,若存在则进入下一步设置JAVA环境变量。

设置JAVA环境变量

一开始想通过执行类似"set path=%path%;JDKPath"的方法设置JAVA环境变量,但用这种方法设置的环境变量只对当前cmd窗口有效(在开始运行中输入cmd进入dos窗口时,只是获取到当前系统环境变量的副本,故用此法修改时只是修改了副本中的环境变量,当窗口关闭时就失效了)。考虑到要使设置好的环境变量持久有效,就想到要采用修改系统注册表的方法,于是先找到系统环境变量对应的注册表项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment,然后采用命令REG ADD KeyName [/v ValueName | /ve] [/t Type] [/s Separator] [/d Data] [/f]分别将JAVA_HOME,Path,ClassPath加入到系统环境变量中,如:reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\Environment" /v JAVA_HOME /t REG_SZ /d "%JDKPath%" /f 是将JAVA_HOME加入到环境变量中。

 

例子:

                     reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v "path" /d "C:\Program Files\Java\jdk1.6.0\bin;C:\Program                 Files\Java\jdk1.6.0;%path%" /fpause

 

注意:(1)在加入Path时要把对应值设为\d "%PATH%;%%JAVA_HOME%%\bin"而不能是\d " %JAVA_HOME%%\bin",否则会把原来系统中的Path变量清空。

        (2)在加入Path和ClassPath时要将类型设置为/t REG_EXPAND_SZ,而不是/t REG_SZ,否则系统不会将对应值中的%JAVA_HOME%替换为该变量实际的路径。

    

使设置的环境变量立即生效

按照上面的方法设置的环境变量,需要用户重启电脑或再右击"我的电脑"->属性->高级->环境变量,打开环境变量窗口后再单击下确定后才能生效。想到出现这种情况可能是因为批处理修改注册表后系统没有及时刷新引起的,于是找到下面刷新系统设置的命令

taskkill /f /im explorer.exe

start explorer.exe

RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters

执行后,上面设置的环境变量立即生效。

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值