windows上自动设置java环境变量的脚本

转:http://www.cnblogs.com/flowwind/p/4066146.html

近期打算学习安卓开发,于是乎要准备java开发环境,安装好jdk后,就要设置java环境变量,java环境变量要设置 JAVA_HOME,Path,CLASSPATH三个值,每次配置查百度复制粘贴都很麻烦,所以想着偷懒下,用脚本直接执行就很快了,搜了下bat的命 令,写了个配置java环境变量的脚本。

  这里默认设置了java jdk的安装路径为C:\Program Files\Java\jdk1.7.0_71,如果你的jdk安装路径不在此,可在执行此命令的时候,会有提示输入jdk安装路径,输入即可。

  首先粘贴命令如下: 下载地址

 

 1 @echo off
 2 
 3 :: TODO:设置java环境变量
 4 :: Author: Gwt
 5 color 02
 6 ::设置java的安装路径,可方便切换不同的版本
 7 set input=
 8 set /p "input=请输入java的jdk路径(或回车默认路径为C:\Program Files\Java\jdk1.7.0_71):"
 9 if defined input (echo jdk已设置) else (set input=C:\Program Files\Java\jdk1.7.0_71)
10 echo jdk路径为%input%
11 set javaPath=%input%
12 
13 ::如果有的话,先删除JAVA_HOME
14 wmic ENVIRONMENT where "name=‘JAVA_HOME‘" delete
15 
16 ::如果有的话,先删除ClASS_PATH 
17 wmic ENVIRONMENT where "name=‘CLASS_PATH‘" delete
18 
19 ::创建JAVA_HOME
20 wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="%javaPath%"
21 
22 ::创建CLASS_PATH
23 wmic ENVIRONMENT create name="CLASS_PATH",username="<system>",VariableValue=".;%%JAVA_HOME%%\lib\tools.jar;%
24 
25 %JAVA_HOME%%\lib\dt.jar;"
26 
27 ::在环境变量path中,剔除掉变量java_home中的字符,回显剩下的字符串
28 call set xx=%Path%;%JAVA_HOME%\jre\bin;%JAVA_HOME%\bin
29 
30 ::echo %xx%
31 
32 ::将返回显的字符重新赋值到path中
33 wmic ENVIRONMENT where "name=‘Path‘ and username=‘<system>‘" set VariableValue="%xx%"
34 
35 pause

    下面就解释下命令 

     @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、要以管理员方式运行命令,不然提示拒绝执行命令的提示

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。