更简单的Powershell OR条件语法

时间:2016-10-12 17:29:51

标签: powershell conditional

是否有更简单的方法来指定C:\\Path_to_unrestricted_key_strength_policy_files\lib\security条件?例如,lib\security。我宁愿写一些类似javax.crypto.JceSecurity的东西来测试$ returnValue的两个可能值。当然那是在做别的事情。 好吧,只想到使用正则表达式将值强制转换为字符类型: -or 那么,既然我已经回答了我的问题,还有其他想法吗?

1 个答案:

答案 0 :(得分:4)

我会在适当情况下使用-contains-in

if ((0,5) -contains $returnValue)

if ($returnValue -in (0,5))
PowerShell v3中添加了

-in

我强烈反对正则表达式“解决方案”,因为它可能会产生意想不到的副作用并降低清晰度。例如,51 -match '0|5'$true

考虑在多行格式化if语句:

if (
    $returnValue -eq 0 -or
    $returnValue -eq 5
)

虽然我仍然希望-contains-in能够实现您的目标。

$validVals = @(
    0,
    5,
    17
)

if ($validVals -contains $returnVal) {
    # ...
}

if ($returnVal -in $validVals) {
    # ...
}