用注册表或者wmic永久修改Windows环境变量

阅读更多

起因是公司的电脑没有我的电脑,当然也就没有办法属性改环境变量,控制面板里边也搞不出来。

有两个方法可以改,一个就是直接修改注册表:

1、win+R 打开运行输入regedit打开注册表编辑器,然后找到以下路径:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

直接修改或者添加变量就行了

2、用wmic修改,需要管理员权限才可以

 

:: 获取 PATH 环境变量的 用户 和 变量值
wmic ENVIRONMENT where name="PATH" get UserName,VariableValue

 
:: 修改 PATH 环境变量值,新增路径 T:\myScripts
wmic ENVIRONMENT where "name='PATH' and username=''" set VariableValue="%PATH%;T:\myScripts" 


 

:: 新增系统环境变量 myTemp,值为 %OS%%SystemDrive% 
wmic ENVIRONMENT create name="myTemp",username="",VariableValue="%OS%%SystemDrive% " 

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

 

' fso判断环境变量添加脚本是否存在
Set fso = CreateObject("Scripting.FileSystemObject")
' 以管理员权限运行环境变量添加脚本
Set UAC = CreateObject("Shell.Application")
tmpFile = ".\addToPath.bat"
If fso.FileExists(tmpFile) Then
    UAC.ShellExecute ".\addToPath.bat", "", "", "runas", 1
Else
    ' 文件缺失,生成环境变量添加脚本
    Set batFile = fso.CreateTextFile(".\addToPath.bat", True)
    batFile.WriteLine("@echo off")
    batFile.WriteLine(":: 获取当前文件夹绝对路径")
    batFile.WriteLine("set tmpDir=%~dp0")
    batFile.WriteLine("wmic ENVIRONMENT where " & chr(34) & "name='PATH' and username=''" & chr(34) & " set VariableValue=" & chr(34) & "%tmpDir%;%PATH%" & chr(34))
    UAC.ShellExecute ".\addToPath.bat", "", "", "runas", 1
End If
MsgBox "已将当前路径添加到环境变量PATH中", vbOkOnly+vbInformation,"操作完成"

 

你可能感兴趣的:(用注册表或者wmic永久修改Windows环境变量)