如何在PowerShell中通过变量获取环境变量的值?
PowerShell通过变量名获取环境变量的正确方法
你用${env:$credEnvName}失效的原因是:PowerShell的${env:<name>}语法要求<name>必须是字面量名称,不支持直接嵌入变量进行动态解析。
下面是两种可行的正确方法:
方法一:字典式访问(推荐,最简洁)
$env本质上可以当作字典来使用,直接通过变量作为键来取值:
$credEnvName = "Confluence_Data" $value = $env[$credEnvName]
方法二:通过Get-Item访问env:驱动器
利用PowerShell的驱动器访问机制,先定位到对应的环境变量项,再提取其值:
$credEnvName = "Confluence_Data" $value = (Get-Item "env:$credEnvName").Value
如果需要验证效果,可以先临时设置环境变量测试:
$credEnvName = "Confluence_Data" # 临时设置当前进程内的环境变量 [Environment]::SetEnvironmentVariable($credEnvName, "测试值", "Process") # 获取并输出结果 $value = $env[$credEnvName] Write-Host $value
内容的提问来源于stack exchange,提问作者Владислав Пестриков
相关产品推荐
相关产品推荐

