1.bat 命令 wmic 配置系统环境变量在win7不能立即生效(网上一些说法是错误的,亲测),需要重启或注销。另外一种办法,“右键”计算机打开系统环境变量,然后确定,就可以生效了,不用重启或注销系统。
2.wmic 设置jdk环境变量:
@echo off
wmic ENVIRONMENT create name="JAVA_HOME",username="<system>",VariableValue="D:\Program Files\Java\jdk1.6.0_22"
wmic ENVIRONMENT create name="CLASSPATH",username="<system>",VariableValue=".;%%JAVA_HOME%%\lib"
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;%%JAVA_HOME%%\bin;%%JAVA_HOME%%\jre\bin;"
pause
3. 修改注册表设置系统环境变量
@echo off
setlocal enabledelayedexpansion
if "%JAVA_HOME%" == "" (
set javaHome="D:\Program Files\Java\jdk1.6.0_22"
set EnvironmentHome=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
echo 正在设置环境变量,请稍候......
reg add "!EnvironmentHome!" /v JAVA_HOME /t reg_sz /d !javaHome! /f
reg add "!EnvironmentHome!" /v ClassPath /t reg_sz /d .;!javaHome!\lib /f
reg add "!EnvironmentHome!" /v Path /t reg_sz /d !javaHome!\bin;!javaHome!\jre\bin;"%path%" /f
)
pause
以下解释:
if()中使用%%引用set设置的变量,报错 echo已打开;解决方法:
setlocal enabledelayedexpansion 设置变量延迟, !javaHome! 这样引用变量。
不是set临时定义的变量,可以用%%,如以上%path%
环境变量生效方法和wmic的相同