Powershell:将条件语句转换为变量

时间:2018-03-02 15:12:22

标签: powershell

我想知道是否可以将条件语句保存为变量。

如果我将它转换为带有弯曲括号()的变量,它将保存条件语句的解。 如果我用引号加注它,它显然保存为字符串。

我想要完成的是让if语句计算条件语句而不是在转换为变量时发生。

例如:

$value = 0 
$statement = $value -eq 5
$value = 5  
if($statement) { Write-Output "value is 5" }

这应该给我输出"值是5"

1 个答案:

答案 0 :(得分:1)

$value = 0 
$statement = { $value -eq 5 }
$value = 5  
if(& $statement) { Write-Output "Test1: value is 5" }
$value = 2
if(& $statement) { Write-Output "Test2: value is 5" }

输出是:

Test1: value is 5

$statement的类型为ScriptBlock,&运算符会在传递一个脚本块时执行该脚本块。