在 Where-Object 中排除数组中的项目
Exclude items in array in Where-Object
我想知道是否有一种 simple/single-line 方法可以使用 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 的数量是否在不断增长?
$filtereddata = $data | Where{ $_.var -notin 1..12 }
如果你的数字实际上是整数而不是字符串,你可以使用 -notin
和 ..
数组表示法。
否则,您可以将具有多个条件的单个 where 与 -or
连接起来,而不是通过管道传输到许多额外的 where-object 命令。
我想知道是否有一种 simple/single-line 方法可以使用 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 的数量是否在不断增长?
$filtereddata = $data | Where{ $_.var -notin 1..12 }
如果你的数字实际上是整数而不是字符串,你可以使用 -notin
和 ..
数组表示法。
否则,您可以将具有多个条件的单个 where 与 -or
连接起来,而不是通过管道传输到许多额外的 where-object 命令。