我想知道是否存在使用Where-Object
排除一系列事物的简单/单行方式。
所以不要去:
$filtereddata = $data |
Where {$_.var -ne "1"} |
Where {$_.var -ne "2"} |
Where {$_.var -ne "3"} |
Where {$_.var -ne "4"} |
Where {$_.var -ne "5"} |
Where {$_.var -ne "7"} |
Where {$_.var -ne "10"} |
Where {$_.var -ne "12"}
我去了
$filterddata = $data | Where {??????}
或类似的......
请注意,它们都是相同的.Var
。
有没有办法更简单地做到这一点?特别要说的是,在自动化场景中,要排除的 Var 的数量是否会不断增长?
答案 0 :(得分:3)
$filtereddata = $data | Where{ $_.var -notin 1..12 }
如果您的数字实际上是整数而不是字符串,则可以将-notin
与..
数组表示法一起使用。
否则,您可以使用-or
连接多个条件的单个位置,而不是使用大量其他where-object命令。