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)
表单。