PowerShell 变量与环境变量
- 笔记
- 2025-12-23
- 560热度
- 0评论
在 Windows 系统管理和脚本开发中,PowerShell 环境变量是一个必须掌握的核心知识点。无论是配置开发环境、设置 PATH 路径,还是在自动化脚本中读取系统配置,PowerShell 环境变量都扮演着重要角色。本文将从基础到实战,全面讲解 PowerShell 环境变量的查看、设置、修改和删除操作,帮助你高效管理 Windows 环境配置。
一、PowerShell 环境变量常用命令速查
1️⃣ 常用命令速查
| 描述 | 命令 |
|---|---|
| 查看全部环境变量 | Get-ChildItem Env: 或者 ls Env: |
| 查看单个环境变量 | $Env:PATH |
| 判断是否存在 | Test-Path Env:JAVA_HOME |
| 临时设置(会话) | $Env:MY_VAR = "value" |
| 永久设置(用户) | [Environment]::SetEnvironmentVariable("MY_VAR","value","User") |
| 永久设置(系统) | [Environment]::SetEnvironmentVariable("MY_VAR","value","Machine") |
| 删除环境变量 | SetEnvironmentVariable("MY_VAR",$null,"User") |
普通变量 vs 环境变量对比
| 对比项 | 普通变量 | 环境变量 |
|---|---|---|
| 写法 | $var |
$Env:VAR |
| 作用范围 | 当前会话 | 进程 / 用户 / 系统 |
| 是否持久 | 否 | 可持久 |
| 典型用途 | 脚本逻辑 | 程序配置 |
二、PowerShell 普通变量基础知识
在 PowerShell 语法设计中,变量名必须以 $ 开头。$ 用于明确告诉解析器:这是一个变量引用。没有 $ 的标识符会被当作:命令名、字符串、参数或裸值(bare word)。
普通变量只在当前 PowerShell 会话中存在。
$var = "hello"
$var
Get-Variable
Remove-Variable var
关闭窗口即失效
三、PowerShell 环境变量基础操作
环境变量是操作系统级别的配置变量,PowerShell 环境变量通过 $Env: 前缀访问。与普通变量不同,环境变量可以持久化保存,影响整个系统或用户的程序运行环境。
查看 PowerShell 环境变量
Get-ChildItem Env:
$Env:PATH
$Env:TEMP
判断是否存在:
Test-Path Env:JAVA_HOME
Get-ChildItem(别名ls / dir / gci)
用于列出某个路径下的子项,返回的是对象集合,不仅限于文件。
| 参数 | 含义 |
|---|---|
-Recurse |
递归子目录 |
-File |
只列文件 |
-Directory |
只列文件夹 |
-Filter |
快速过滤 |
-Hidden |
显示隐藏项 |
Get-ChildItem不只是文件
Get-ChildItem Env: # 环境变量
Get-ChildItem Variable: # 变量
Get-ChildItem Alias: # 别名
Get-ChildItem HKCU:\ # 注册表
创建与修改 PowerShell 环境变量
临时(当前会话)
$Env:MY_VAR = "test"
永久(推荐方式)
[Environment]::SetEnvironmentVariable("MY_VAR","test","User")
作用范围说明:
Process:当前进程User:当前用户Machine:全系统(需管理员)
修改 PATH 环境变量(实战示例)
$old = [Environment]::GetEnvironmentVariable("PATH","User")
$new = $old + ";C:\MyApp\bin"
[Environment]::SetEnvironmentVariable("PATH",$new,"User")
建议修改前先备份原 PATH
删除 PowerShell 环境变量
Remove-Item Env:MY_VAR
[Environment]::SetEnvironmentVariable("MY_VAR",$null,"User")
四、PowerShell 环境变量在脚本中的应用
$javaHome = $Env:JAVA_HOME
if (-not $Env:JAVA_HOME) {
Write-Host "JAVA_HOME 未设置"
}
五、PowerShell 环境变量使用注意事项
在使用 PowerShell 环境变量时,请注意以下几点:
- 修改系统变量需要管理员权限:设置
Machine级别变量时需要以管理员身份运行 PowerShell - 新环境变量需重新打开程序才生效:已运行的程序不会自动获取新设置的环境变量
- PATH 拼接注意分号
;:追加路径时确保与前一个路径之间有分号分隔 - 不建议在脚本中频繁改系统变量:可能导致不可预期的副作用
六、总结
PowerShell 环境变量是 Windows 系统管理的核心技能。通过本文,你已经掌握了:
- 使用
$Env:语法快速访问和临时设置环境变量 - 使用
[Environment]::SetEnvironmentVariable()方法永久设置环境变量 - 使用
Get-ChildItem Env:查看所有环境变量 - 在脚本中正确读取和判断环境变量
掌握 PowerShell 环境变量操作,能够让你更高效地配置开发环境、编写自动化脚本和管理 Windows 系统。