如何使用PowerShell的Where-Object过滤属性长度?

时间:2016-11-18 16:33:36

标签: arrays powershell where

假设你有一个PowerShell命令,Get-MyObj。这将返回具有名为V的属性的对象,该属性是对象本身的数组。如何使用Where-Object仅选择V属性长度大于0的返回对象?

我尝试过以下似乎不起作用的内容:

Where-Object($_.V.length -gt 0)

2 个答案:

答案 0 :(得分:2)

对于filter子句,您需要使用大括号{}而不是括号()

Get-MyObj | Where-Object { $_.V.Length -gt 0 }

答案 1 :(得分:0)

另一个解决方案(管道的解决方案更优雅,我发现):

(Get-MyObj).Where({$_.V.Length -gt 0})