windows下用批处理设置设置环境变量

时间:2022-12-12 10:56:13

装许多的行业软件的时候需要手动在系统里面加环境变量,比如oracle精简客户端等等。一台机器没什么,多了就费时费力还容易出错。

一般都是这样:

set PATH = %PATH%;D:\ytfy

此命令只对当前窗口有效,批处理一旦结束,变量就失效了。

常用此方法配置当前软件的运行环境,如在PL/SQL的启动时,使用批处理(bat)来启动他并配置Oracle的变量信息

第二种:通过注册表设置,有点费解

参考此文

::添加环境变量JAVA_HOME
@echo off
echo 添加java环境变量
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
set evname=JAVA_HOME
set javapath=c:\java\jdk
reg add "%regpath%" /v %evname% /d %javapath% /f
pause>nul
 
 
::删除环境变量JAVA_HOME
@echo off
echo 删除java环境变量
set regpath=HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
set evname=JAVA_HOME
reg delete "%regpath%" /v "%evname%"  /f
pause>nul

第三种:也是我比较喜欢的,类似第一种比较简单的命令

1.参考 在path中加入JAVA执行如下:setx Path "%Path%;%ORACLE_HOME%\bin"

这是针对当前用户,本用户的环境变量生效!

setx /M wu "%comspec%;c:\wu"

这个是系统环境变量

总结

SETX 则用于设置用户环境变量和系统环境变量

  - SET UsrVariable abc (设置用户环境变量 记录在HKEY_CURRENT_USER )

  - SET /M OSVariable abc (设置系统环境变量 记录在HKEY_LOCAL_MACHINE)

主要参考(注意的是win vista及其纸上的windows版本都默认有setx工具,xp及其以下的windows系统是没有的)

2.参考

@echo off  
  
:: 设置第三方库环境变量THIRD_PARTY  
wmic ENVIRONMENT create name="THIRD_PARTY",username="<system>",VariableValue="%~dp0ThirdPartyLib"  
echo %THIRD_PARTY%
THIRD_PARTY为环境变量名,<system>表示你添加的是系统环境变量,%~dp0表示批处理文件所在的文件夹,例如,你的bat文件在e:/MyProject/test.bat,则%0就是%~dp0是e:/MyProject/,%~dp0ThirdPartyLib就是e:/MyProject/ThirdPartyLib。