1
以下if语句与-ne和-or运算符不起作用(注意我没有包括大括号)。 $ MyVariable是一个从函数中的参数进来的整数,并且用if语句检查值。我想要的是,如果$ MyVariable不等于16,24或32,则返回错误消息,否则继续。调用函数为FunctionName 16;在ps1脚本中。如果与-ne和-or运算符不在powershell中工作
功能定义如下:
function FunctionName
{
param([Parameter(Mandatory = $false, Position = 0)]
[AllowNull()]
[int] $MyVariable,
[Parameter(Mandatory = $false, Position = 1)]
[bool] $MyVariable2,
[Parameter(Mandatory = $false, Position = 2)]
[bool] $MyVariable3);
if (...
}
什么我在做错了if语句下面?
if ($MyVariable -ne 16 -or $MyVariable -ne 24 -or $MyVariable -ne 32)...
if (16 -ne $MyVariable -or 24 -ne $MyVariable -or 32 -ne $MyVariable)...
if (($MyVariable -ne 16) -or ($MyVariable -ne 24) -or ($MyVariable -ne 32))...
Logic fla W上。 *至少有两个* -ne'比较总是正确的。使用'-and'或'-eq'进行比较 –
是的。在重新审视逻辑之后,它是有道理的。谢谢。 –