【发布时间】:2011-02-20 19:46:21
【问题描述】:
有人知道如何在 powershell 中对字符串进行两次评估吗?
来自示例 $l1 = 是 $l2 = 否
对于 (i=0;i -lt 2;i++) { 回声 $1$i }
【问题讨论】:
-
该代码的输出应该是什么?有一些语法错误..
标签: string variables powershell eval
有人知道如何在 powershell 中对字符串进行两次评估吗?
来自示例 $l1 = 是 $l2 = 否
对于 (i=0;i -lt 2;i++) { 回声 $1$i }
【问题讨论】:
标签: string variables powershell eval
如果我正确理解了这个问题,那么这段代码就可以完成这项工作:
$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")
"@
}
【讨论】:
(Get-Variable "l$i").Value 获取值,而无需调用任意表达式。