在 PowerShell 中刷新环境变量

重新加载 Path 环境变量

Path 是最常见需要修改的环境变量。当我们添加新的路径到 Path 后,通常需要让 PowerShell 立即识别这些新的路径,而不是依赖重新启动系统或 PowerShell 会话。

使用以下命令可以重新加载 Path 环境变量:

1
$env:Path = [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::Machine) + ";" + [System.Environment]::GetEnvironmentVariable("Path", [System.EnvironmentVariableTarget]::User)

命令解释:

  • $env:Path: 这是 PowerShell 中的环境变量 Path。
  • [System.Environment]::GetEnvironmentVariable(“Path”, [System.EnvironmentVariableTarget]::Machine): 获取系统范围的 Path 环境变量。
  • [System.Environment]::GetEnvironmentVariable(“Path”, [System.EnvironmentVariableTarget]::User): 获取当前用户范围的 Path 环境变量。
    • “;” +: 将系统范围的 Path 和用户范围的 Path 合并成一个完整的 Path。
      通过执行该命令,当前 PowerShell 会话将立即获取最新的 Path 环境变量配置,而无需重启会话。

重新启动 PowerShell 会话

如果你更改了多个环境变量,并希望简单地通过重新启动 PowerShell 来加载所有环境变量变化,可以使用以下命令:

1
Start-Process powershell -ArgumentList "-NoExit"

这个命令会启动一个新的 PowerShell 窗口,并且在该会话中包含所有最新的环境变量。参数 -NoExit 用于确保新窗口启动后不会立即关闭,方便你继续使用该会话。

如何刷新其他环境变量

如果你更改的不是 Path,而是其他环境变量,例如 JAVA_HOME,你可以类似地使用以下命令进行刷新:

1
$env:JAVA_HOME = [System.Environment]::GetEnvironmentVariable("JAVA_HOME", [System.EnvironmentVariableTarget]::Machine) + ";" + [System.Environment]::GetEnvironmentVariable("JAVA_HOME", [System.EnvironmentVariableTarget]::User)

请将命令中的 JAVA_HOME 替换为你想要刷新的环境变量名称。