我正在尝试获取标题中没有temp
或temporary
或*contractor
或contractor*
的列表。
此代码正常运行,这意味着我得到一个没有临时记录的列表。
$pTitle = $profile["Title"]
if ($pTitle -ne "Temporary")
但是,当我为通配符添加-or
和-notlike
时,以下代码无效。
$pTitle = $profile["Title"]
if ($pTitle -ne "Temporary" -or $pTitle -notlike "Temporary" -or $pTitle -notlike "contractor" -or $pTitle -notlike "Temp")
答案 0 :(得分:2)
你真的想要-and
。如果当前找到所有单词,您的表达式将仅评估为假。
答案 1 :(得分:0)
$List = @(1,2,3)
如果我要求您返回列表中的所有项目:
不等于1
或
不等于2
或
不等于3
答案将是整个清单
$List | where { ($_ -ne 1) -or ($_ -ne 2) -or ($_ -ne 3) }
1
2
3
你让你的逻辑运算符混淆了。 看看替换-or和-and