使用命令行管理 Windows 环境变量

2024-11-05 · 317 字 · 约 1 分钟

# 1. 使用命令提示符 (CMD)

# 1.1. 设置环境变量

添加或修改临时环境变量(当前会话有效)

set MY_VAR=value

添加或修改用户环境变量

setx MY_VAR "value"

添加或修改系统环境变量(需要管理员权限):

setx /M MY_VAR "value"

# 1.2. 删除用户环境变量

MY_VAR 设置为空字符串(常用操作,非真正删除)

setx MY_VAR ""

修改注册表之前,请做好备份等安全防护措施;注意注册表的修改具有延迟性,造成的系统或程序影响可能不会在第一时间被感知

若需要完全删除环境变量,可以使用 reg 命令来操作注册表:

reg delete "HKCU\Environment" /v MY_VAR /f

删除系统环境变量(需要管理员权限)

reg delete "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v MY_VAR /f

# 1.3. 查看环境变量

set

查看特定的环境变量:

set MY_VAR

# 2. 使用 PowerShell

# 2.1. 设置环境变量

添加或修改临时环境变量(当前会话有效)

$env:MY_VAR = "value"

添加或修改用户环境变量

[System.Environment]::SetEnvironmentVariable("MY_VAR", "value", "User")

添加或修改系统环境变量(需要管理员权限):

[System.Environment]::SetEnvironmentVariable("MY_VAR", "value", "Machine")

# 示例:添加 minikube 到系统环境变量 Path
$oldPath = [Environment]::GetEnvironmentVariable('Path', [EnvironmentVariableTarget]::Machine)
if ($oldPath.Split(';') -inotcontains 'C:\minikube'){
  [Environment]::SetEnvironmentVariable('Path', $('{0};C:\minikube' -f $oldPath), [EnvironmentVariableTarget]::Machine)
}

# 2.2. 查看环境变量

Get-ChildItem Env:

查看特定的环境变量:

$env:MY_VAR

# 2.3. 删除环境变量

删除用户环境变量

[System.Environment]::SetEnvironmentVariable("MY_VAR", $null, "User")

删除系统环境变量(需要管理员权限)

[System.Environment]::SetEnvironmentVariable("MY_VAR", $null, "Machine")

# 3. 参考