gpt4 book ai didi

powershell - PowerShell Where-Object-如何对条件进行分组

转载 作者:行者123 更新时间:2023-12-03 00:17:53 26 4
gpt4 key购买 nike

我有一个带有变量的PowerShell脚本,该变量通过管道传递到“where-object”。该where子句包含多个必须为true的语句(-AND)和两个语句,其中至少一个必须为true的语句(-XOR)。如何将它们分组?到目前为止,我没有尝试过的工作:

$var | Where-Object { condition1 -AND condition2 -AND condition3 -XOR condition4 }
$var | Where-Object { condition1 -AND condition2 -AND (condition3 -XOR condition4) }
$var | Where-Object { (condition1 -AND condition2) -AND condition3 -XOR condition4 }
$var | Where-Object { (condition1 -AND condition2) -AND (condition3 -XOR condition4) }

你能帮助我吗?

提前致谢!

最佳答案

您是否尝试过这个:

$var | Where-Object { condition1 -AND condition2 -AND (condition3 -OR  condition4) } 

提醒一下,这是您可能感兴趣的 Microsoft official man page:
    -or       Logical or. TRUE when either     (1 -eq 1) -or (1 -eq 2) 
or both statements are TRUE. True


-xor Logical exclusive or. TRUE (1 -eq 1) -xor (2 -eq 2)
only when one of the statements False
is TRUE and the other is FALSE.

而且由于我在这里,另一个坚强:
根据$ var对象的大小和结构,检查ALL Object上的ALL条件可能会花费一些时间,您应该对其进行过滤:

提醒: Where-Object 的自然别名:
$var | ? { condition1 } |? { condition2 } |? { condition3 -OR  condition4 } 

这可能有助于您的脚本执行得更快...

关于powershell - PowerShell Where-Object-如何对条件进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29303031/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com