批处理中,修改环境变量(增删改追加)

批处理中,修改环境变量(增删改追加),第1张

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

::获取temp环境变量

wmic ENVIRONMENT where "name='temp'" get UserName,VariableValue

::更改path环境变量值,新增e:\tools

wmic ENVIRONMENT where "name='path' and username='<system>'" set VariableValue="%path%e:\tools"

::新增系统环境变量home,值为%HOMEDRIVE%%HOMEPATH%

wmic ENVIRONMENT create name="home",username="<system>",VariableValue="%HOMEDRIVE%%HOMEPATH%"

::删除home环境变量

wmic ENVIRONMENT where "name='home'" delete

一般来说,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

其实就是写注册表,但是这样添加了是不能即时生效的。批处理或命令行下可通过 %PATH% 代替当前环境变量。比如你要添加一个 C:\Test 到环境变量:

reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v "PATH" /d "%PATH%C:\Test" /f

@echo off

rem 临时解决方案!永久解决方案!重开CMD、重启统统都有效!

rem 但是系统是有要求滴,Windows XP以上

path=%path:C:\=%

path=%path:C:\=%

wmic environment where "name='path' and username='<system>'" set VariableValue="%path:C:\=%"

wmic environment where "name='path' and username='<system>'" set VariableValue="%path:C:\=%"


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11644477.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-17
下一篇2023-05-17

发表评论

登录后才能评论

评论列表(0条)

    保存