Powershell 命名空间限定变量名内的变量扩展 问题

Powershell 命名空间限定变量名内的变量扩展 问题,powershell,variables,expansion,Powershell,Variables,Expansion,我想执行参数变量求值。要计算的变量名是通过字符串连接构造的-来自于变量中定义的名称空间部分和名称部分。示例:env:$var,其中$var的值为,例如“OS”。但是,在使用表达式时 ${env:OS} 给出预期值Windows\u NT,该结构 $var="OS" ${env:$var} 是一个空值表达式 动机 我对环境变量的值并不感兴趣(但这是我能找到的最简单的例子)。我真正想要的是通过${c:}构造引用文件的内容。我想执行几个有条件的文件内字符串替换,并且我想使用类似于以下内容的构造:

我想执行参数变量求值。要计算的变量名是通过字符串连接构造的-来自于变量中定义的名称空间部分和名称部分。示例:
env:$var
,其中
$var
的值为,例如
“OS”
。但是,在使用表达式时

${env:OS}
给出预期值
Windows\u NT
,该结构

$var="OS"
${env:$var}
是一个空值表达式

动机 我对环境变量的值并不感兴趣(但这是我能找到的最简单的例子)。我真正想要的是通过
${c:}
构造引用文件的内容。我想执行几个有条件的文件内字符串替换,并且我想使用类似于以下内容的构造:

<identify files in a foreach>
${c:<filename>} -replace 'this', 'that' > ${c:<new filename>}

env:
PSDrive上使用
Get ChildItem
,并展开结果的

(ls env:$var).Value
编辑:正如@PetSerAl在评论中建议的那样,使用
获取内容
是一种更优雅的方法:

(cat env:$var)

env:
PSDrive上使用
Get ChildItem
,并展开结果的

(ls env:$var).Value
编辑:正如@PetSerAl在评论中建议的那样,使用
获取内容
是一种更优雅的方法:

(cat env:$var)

我会使用
Get Content
而不是
Get ChildItem
gc env:$var
。谢谢,最后,我决定使用
(gc env:$var)
表单。我会使用
Get Content
而不是
Get ChildItem
gc env:$var
。谢谢,最后,我决定使用
(gc env:$var)
表单。