刚刚在网上看到很多关于设置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 @#$%&不用解释吧 =_=" 百度知道。。。
|