bat命令修改windows环境变量
在 bat 下修改环境变量有几种方式, 比如 set setx vmic ENVIRONMENTset
windows 的 set 和 bash 里面直接赋值类似, 只在当前脚本中生效, 比如
1
2
3
4
set a=b
echo %a%
b
setx
setx 和 set 类似, 不一样的是 setx 会把设置持久化保存起来
1
setx a c
因为 setx 直接将环境变量保存在注册表中, 所以 cmd 终端需要关闭重新打开才能生效
1
2
echo %a%
c
后续就算重启电脑, 也会生效, 不过数据量比较大的时候会报错: WARNING: The data being saved is truncated to 1024 characters, 最终修改的内容也是不完整的。所以不建议使用
vmic
wmic 常用命令
1
2
3
4
5
6
7
8
9
10
11
# 创建系统变量
wmic ENVIRONMENT create name="PPTV_HOME",username="",VariableValue="%home%"
# 创建用户变量(替换一下计算机名和用户名)
wmic ENVIRONMENT create name="PPTV_HOME",username="计算机名\\用户名",VariableValue="%home%"
# 查看环境变量
wmic environment where "name='Path'" get UserName,VariableValue
# 删除环境变量
wmic ENVIRONMENT where "name='PPTV_HOME'" delete
举个例子
1
2
3
4
5
6
7
8
9
10
REM 设置一下需要添加环境变量的目录
SET DestFile="%USERPROFILE%\bin"
REM 增加bin环境变量
set path | findstr "%DestFile%" >nul && (
echo 环境变量已存在
) || (
echo 环境变量不存在
wmic ENVIRONMENT where "name='Path' and username='%USERDOMAIN%\\%USERNAME%'" set VariableValue="%Path%;%DestFile%"
)
注册表方式
当前用户环境变量
1
2
3
4
Windows Registry Editor Version 5.00
"a"="b"
系统环境变量
1
2
3
4
Windows Registry Editor Version 5.00
"c"="d"
页:
[1]