【问题标题】:How to evalute a string twice in Powershell如何在 Powershell 中两次评估字符串
【发布时间】:2011-02-20 19:46:21
【问题描述】:

有人知道如何在 powershell 中对字符串进行两次评估吗?

来自示例 $l1 = 是 $l2 = 否

对于 (i=0;i -lt 2;i++) { 回声 $1$i }

【问题讨论】:

  • 该代码的输出应该是什么?有一些语法错误..

标签: string variables powershell eval


【解决方案1】:

如果我正确理解了这个问题,那么这段代码就可以完成这项工作:

$l1 = 'yes'
$l2 = 'no'

# make and evaluate the expression:
for ($i = 1; $i -le 2; $i++) {
    Invoke-Expression "`$l$i"
}

# or, to be embedded into a string:
for ($i = 1; $i -le 2; $i++) {
    @"
Value is: $(Invoke-Expression "`$l$i")
"@
}

【讨论】:

  • Invoke-Expression "`$l$i" 正是我想要的!谢谢
  • 请注意,您也可以使用(Get-Variable "l$i").Value 获取值,而无需调用任意表达式。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
  • 1970-01-01
  • 2013-05-23
  • 1970-01-01
相关资源
最近更新 更多