当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 在 PowerShell 中设置环境变量 [3 种方法]

作者:精品下载站 日期:2024-12-14 05:27:12 浏览:15 分类:玩电脑

在 PowerShell 中设置环境变量 [3 种方法]


[玩转系统] 在 PowerShell 中设置环境变量 [3 种方法]

Windows 环境变量及其范围

Windows 中的环境变量具有三种不同的作用域。

  • 设置会话环境变量
  • 使用 PowerShell 为用户设置环境变量
  • 设置机器环境变量

在寻求解决方案之前,我们必须了解环境变量以及使用它们的原因。

系统管理员可以使用环境变量访问有关 Windows 操作系统的大量信息。可以读取和更新默认环境变量,并且可以创建分为用户范围和系统范围的新环境变量。

PowerShell 使创建 Windows 环境变量以及读取和设置新环境变量比图形用户界面 (GUI) 更加容易。环境变量存储 Windows 应用程序可以访问的值。

PowerShell 将有关 Windows 操作系统的信息保存在环境变量中。例如,处理器的数量、系统驱动器、用户配置文件路径等。PowerShell 中的环境变量存储在 Env:"drive" 中,可通过 PowerShell 环境提供程序(PowerShell 的子系统)访问该环境变量。 PowerShell。这是一个虚拟文件系统,而不是物理驱动器。

设置会话环境变量

使用 $Env: 路径

使用$Env: Path设置会话的环境变量。现在,其范围将是当前会话和进程范围。

设置会话环境变量:

$Env:Hugobin = "C:\Hugo\bin"

在上面的命令中,$Env:Path 临时设置会话的环境变量,但关闭 PowerShell 窗口后不会保留变量值。例如,这会将当前会话的 Hugobin 环境变量设置为 C:\Hugo\bin

要使环境变量在会话中保持不变,您可以使用 Export-ModuleMember cmdlet 从 PowerShell 配置文件脚本导出环境变量。这是一个例子:

将 $Env:Path 与 Export-ModuleMember Cmdlet 结合使用:

$env:Hugobin = "C:\Hugo\bin"
Export-ModuleMember -Name Hugobin

它将把 Hugobin 环境变量设置为 C:\Hugo\bin 并使其可供所有会话使用。在PowerShell中,我们可以使用Get-ChildItem cmdlet打印所有环境变量,如下所示:

使用 Get-ChildItem 获取环境变量:

Get-ChildItem -Path Env:

输出 :

Name                           Value
----                           -----
ALLUSERSPROFILE                C:\ProgramData
APPDATA                        C:\Users\Mehvish\AppData\Roaming
CommonProgramFiles             C:\Program Files\Common Files
....                           ...

我们可以使用 += 并按如下方式编写变量值,将新值附加到环境变量中:

追加环境变量:

$Env:Path += "D:\go\bin\"

上述命令会将值 D:\go\bin 附加到环境变量路径,并且仅适用于此会话。

使用 Set-Item cmdlet

Set-Item cmdlet 还可用于设置或更改任何环境变量。您还可以使用此方法创建环境变量。

使用 Set-Item cmdlet:

Set-Item -Path env:Hugobin -Value "C:\Hugo\bin"

上面的 cmdlet 将环境变量 Hugobin 设置为 C:\Hugo\bin

为当前用户设置环境变量

使用 [System.Environment] 类的 SetEnvironmentVariable() 方法为当前使用 PowerShell 的用户设置环境变量。

设置用户环境变量:

[System.Environment]::SetEnvironmentVariable('GoHugos','C:\Hugo\bin',
[System.EnvironmentVariableTarget]::User)

在本节中,我们使用了 SetEnvironmentVariable() 方法,该方法属于 [System.Environment] 类,仅为当前正在使用的用户设置环境变量PowerShell。

此处,SetEnvironmentVariable() 方法的第一个参数是环境变量的名称,第二个参数是要为环境变量设置的值,第三个参数是 EnvironmentVariableTarget 指定环境变量的范围。

在本例中,EnvironmentVariableTarget 设置为 User,这意味着仅为当前用户设置环境变量。我们还可以使用SetEnvironmentVariable()方法来设置Machine环境变量;让我们看看如何做到这一点。

设置机器环境变量

使用[System.Environment]类的SetEnvironmentVariable()方法为机器设置环境变量。

设置机器环境变量:

[System.Environment]::SetEnvironmentvariable('GoHugos','C:\Hugo\bin',
[System.EnvironmentVariableTarget]::Machine)

此命令与上一个命令类似,但使用 [System.Environment]SetEnvironmentVariable() 方法为 Machine 设置环境变量班级。它通过使用EnvironmentVariableTarget作为Machine为单台机器创建环境,这意味着将为该机器上的所有用户设置环境变量。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯