我发现设置 PATH 环境变量仅影响旧的命令提示符。 PowerShell 似乎具有不同的环境设置。如何更改 PowerShell(v1)的环境变量?
笔记:
我想使更改永久生效,因此不必每次运行 PowerShell 时都进行设置。 PowerShell 是否有配置文件?类似于 Unix 上的 Bash 配置文件?
如果在 PowerShell 会话期间的某个时间需要临时添加到 PATH 环境变量,则可以采用以下方式:
$env:Path += ";C:\Program Files\GnuWin32\bin"
env: namespace / drive
信息来更改实际的环境变量。例如,以下代码将更新路径环境变量:
$env:Path = "SomeRandomPath"; (replaces existing path)
$env:Path += ";SomeRandomPath" (appends to existing path)
有一些方法可以使环境设置永久化,但是如果仅从 PowerShell 使用它们,则最好使用您的配置文件来初始化设置。启动时,PowerShell 将运行在 “我的文档” 文件夹下WindowsPowerShell
目录中找到的所有. ps1 文件。通常,您已经有一个profile.ps1文件。我电脑上的路径是
C:\Users\JaredPar\Documents\WindowsPowerShell\profile.ps1
您还可以使用以下命令永久修改用户 / 系统环境变量(即在 Shell 重新启动后将永久保留):
修改系统环境变量
[Environment]::SetEnvironmentVariable
("Path", $env:Path, [System.EnvironmentVariableTarget]::Machine)
修改用户环境变量
[Environment]::SetEnvironmentVariable
("INCLUDE", $env:INCLUDE, [System.EnvironmentVariableTarget]::User)
注释的用法 - 添加到系统环境变量
[Environment]::SetEnvironmentVariable(
"Path",
[Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine) + ";C:\bin",
[EnvironmentVariableTarget]::Machine)
如果您不想编写类型,也可以使用基于字符串的解决方案
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";C:\bin", "Machine")