分享

一键设置JDK环境变量

 instl 2014-11-09

刚刚在网上看到很多关于设置JDK的文章,非常不错。
但一做实验,代码上总有点问题,不是很人性化。
于是选了两个精炼的脚本,整理成以下代码

@ECHO OFF
IF EXIST %CD%\bin\java.exe (
IF EXIST %systemroot%\system32\setx.exe (
@ECHO "设置JAVA_HOME:%CD%"
@SETX JAVA_HOME %CD%
@ECHO "设置CLASSPATH:.;%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\jre\lib\rt.jar"
@SETX CLASSPATH ".;%%JAVA_HOME%%\lib\tools.jar;%%JAVA_HOME%%\lib\dt.jar;%%JAVA_HOME%%\jre\lib\rt.jar"
@ECHO "设置PATH:%%JAVA_HOME%%\bin"
@SETX PATH "%%JAVA_HOME%%\bin"
@ECHO JDK环境变量设置成功
) ELSE (
@ECHO ON
@ECHO 未能找到%systemroot%\system32\setx.exe,请下载setx.exe程序
)
) ELSE (
@ECHO ON
@ECHO JDK安装目录不正确,未能按照预期计划执行
)
@PAUSE


将上面蓝色部分代码COPY下来。另存为 JDKConfig.bat 文件 保存在 JDK安装目录 下。双击,如没错误提示,估计设置成功。

注意:
路径最好就用 " " 包括起来,以防路径中含有空格
本人喜欢把它设置成用户变量类型,这样配置比较清晰,容易修改,反正平常都是单用户登陆的,
其实就跟系统变量没两样

%CD%
在命令提示符下。输入 echo   %CD% 你就知道它有什么用的了。
例如这样输入 C:\Documents and Settings\Administrator>echo %CD%
它会输出 C:\Documents and Settings\Administrator
没错,就是当前路径。
IF EXIST %CD%\bin\java.exe   这条语句其实就是检测当前目录是不是JDK的安装目录

%systemroot%
即WINDOWS安装目录

%%JAVA_HOME%%
平时我的电脑设置环境变量时,就要输入%JAVA_HOME% 那干吗还要来多双%%?
那是因为在DOS下,取出JAVA _HOME的时候,需要一双%% ,但是如果就这样设置的话
可能就会出现这样的值 JAVA_HOME\bin 因此,还需要双%% 来把JAVA_HOME夹死在中间

@setx
当脚本执行到它时,会调用setx.exe这个小程序(注:系统文件夹System32下不一定有它,需要另行下载)
它可以将变量保存在电脑中,具体来说,其实就放在注册表中
你可以在这个分支上看到所有的系统变量
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
如果你已经执行了上面的脚本,但是发现在这个分支上没有值。请勿恐慌。

SetX 有三种使用方式:
语法 1:
    SETX [/S system [/U [domain\]user [/P [password]]]] var value

语法 2:
     SETX [/S system [/U [domain\]user [/P [password]]]] var /K regpath

语法 3:
     SETX [/S system [/U [domain\]user [/P [password]]]]
         /F file {var {/A x,y | /R x,y string}
| /X} [/D delimiters]

上面的实例用的就是语法1,需要把环境变量写进系统变量里面的,只需要在后面加 /M
更详细的解释可以看它的帮助 setx /?

@PAUSE
@#$%&不用解释吧   =_="   百度知道。。。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多