批处理bat如何设置系统环境变量?
在软件运行过程中,可能需要配置计算机的环境变量,在这里分为两种情况:
情况一,增加或修改环境变量只在当前软件环境中使用。
设置Java的环境变量:
set CLASSPATH=%CLASSPATH%;C:LSJAVA.JAR
保持原有的不变 自己加上要加的jar包,用分号隔开,当然你也可以写到前面,如:
set CLASSPATH=D:/My_Path;%CLASSPATH%
set JAVA_HOME= 这里的路径自己写吧
不过这样写只对你打开的这个dos窗口有效,也就是你只有在这个窗口用java等命令,才会找到你才设的变量JAVA_HOME等。(www.jb200.com 脚本学堂)
如果想看看是否设置成功可以用:echo %JAVA_HOME%
常用此方法配置当前软件的运行环境,如在PL/SQL的启动时,使用批处理(bat)来启动他并配置Oracle的变量信息。
情况二,通关注册表永久性的保存设置或增加的环境变量。
实例一:批处理设置系统环境变量。
复制代码 代码示例:
::添加环境变量JAVA_HOME
@echo off
echo 添加java环境变量
set regpath=HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment
set evname=JAVA_HOME
set javapath=c:javajdk
reg add "%regpath%" /v %evname% /d %javapath% /f
pause>nul
::删除环境变量JAVA_HOME
@echo off
echo 删除java环境变量
set regpath=HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment
set evname=JAVA_HOME
reg delete "%regpath%" /v "%evname%" /f
pause>nul
实例二:先判断该环境变量是否已经存在,如果不存在则添加该环境变量。(www.jb200.com 脚本学堂)
复制代码 代码示例:
@echo off
@set Path_=D:Program Files
for,/f,"skip=4 tokens=1,2,*",%%a,in,('reg query "HKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession ManagerEnvironment" /v Path'),do,(
@set PathAll_=%%c
)
echo %PathAll_%|find /i "%Path_%" && set IsNull=true|| set IsNull=false
if not %IsNull%==true (
reg add "HKEY_LOCAL_MACHINESYSTEMControlSet001ControlSession ManagerEnvironment" /v Path /t REG_EXPAND_SZ /d "%PathAll_%;%Path_%" /f
)
pause
以上二种方法,从简单到复杂,实现了通关注册表永久性的保存设置或增加的环境变量,希望对大家有所帮助。