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

时间:2021-05-01 23:07:47

使用批处理命令设置环境变量


一般都是这样:

set PATH = %PATH%;D:\ytfy

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




DOS下设置永久环境变量 在打包软件的时候发现需要设置一个永久的环境变量,找了一下相关资料发现是使用setx这条命令。 如果想设置JAVA_HOME,则需执行如下命令即可:setx JAVA_HOME "C:\Program Files\LightenBSM Server\jdk1.6.0_16"在path中加入JAVA执行如下:setx Path "%Path%;%JAVA_HOME%\bin" 把以上命令保存成批处理运行即可实现永久环境变量的注册。这是针对当前用户,执行成功之后可以在我的电脑属性里面的高级 ,本用户的环境变量中查看。具体注册为哪个用户的可以查看帮助中有具体介绍。

经测试这么设置的环境变量是当前用户的环境变量。


装许多的行业软件的时候需要手动在系统里面加环境变量,比如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。