用dos命令行,永久修改环境变量(转)

转自:http://blog.csdn.net/u011251014/article/details/49764951,有删改


方法一:批处理中,修改环境变量,一次性有效(也就是在当前的脚本中有效)

CMD中运行

set path==%path%;d:/mypath

用 set path可以查看,当前的环境变量


方法二:批处理中,修改环境变量,永久有效

::更改path环境变量值,新增e:\tools
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;e:\tools"


另外介绍些关于wminc的用法(简单又实用)


::获取temp环境变量
wmic ENVIRONMENT where "name='temp'" get UserName,VariableValue 


::新增系统环境变量home,值为%HOMEDRIVE%%HOMEPATH%
wmic ENVIRONMENT create name="home",username="<system>",VariableValue="%HOMEDRIVE%%HOMEPATH%"


::删除home环境变量
wmic ENVIRONMENT where "name='home'" delete


::更改path环境变量值,新增e:\tools
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%;e:\tools"

一般来说,wmic创建或修改的系统变量不用重启windows生效,但如果你发现在DOS窗下检测不生效的话,你试着关闭 DOS窗,再检测一次.就生效了.

如果你的批处理想不关闭而直接让新的变量给下级程序应用可以这样写


view plaincopy to clipboardprint?
::检查path中有没有e:\tools(有就跳到run,没有就接着执行)
echo %path%|findstr /i "e:\tools"&&(goto run)

::先添加,防止没有时修改出错
wmic ENVIRONMENT create name="path",VariableValue="e:\tools;%path%"
::再修改,防止已有时添加出错
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="e:\tools;%path%"
::再即时应用
set "path=e:\tools;%path%"

:run
start 程序.exe
::检查path中有没有e:\tools(有就跳到run,没有就接着执行)
echo %path%|findstr /i "e:\tools"&&(goto run)

::先添加,防止没有时修改出错
wmic ENVIRONMENT create name="path",VariableValue="e:\tools;%path%"
::再修改,防止已有时添加出错
wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="e:\tools;%path%"
::再即时应用
set "path=e:\tools;%path%"

:run
start 程序.exe

0 条评论

    发表评论

    电子邮件地址不会被公开。 必填项已用 * 标注