如何在PowerShell中拼接环境变量名称
PowerShell拼接环境变量名称并取值
在PowerShell里,要通过拼接$env:a和$env:b得到Pokemon这个环境变量名并获取其值,有两种简单可行的方法:
方法一:利用
$env哈希表特性$env本质是一个哈希表(字典),可以直接通过拼接后的键名访问对应的值:# 直接拼接并访问 $env["$($env:a)$($env:b)"] # 或者先存拼接后的变量名再访问 $varName = $env:a + $env:b $env[$varName]方法二:通过环境变量驱动器访问
PowerShell的Env:驱动器可以像操作文件系统一样访问环境变量,用路径形式传入拼接后的变量名即可:# 直接拼接取值 (Get-Item "Env:\$($env:a)$($env:b)").Value # 分步写法 $varName = $env:a + $env:b (Get-Item "Env:\$varName").Value
你之前尝试的$($env:$($env:a)$($env:b))写法无效,是因为PowerShell不会在env:修饰符后嵌套解析变量拼接逻辑,而上面两种方法则能正确处理这种动态变量名的场景。
内容的提问来源于stack exchange,提问作者Retrosec6
相关产品推荐
相关产品推荐

