如何使用 PowerShell Where-Object 过滤 属性 长度?
How do I use PowerShell's Where-Object to filter on property length?
假设您有一个 PowerShell 命令 Get-MyObj。这个 returns 个对象有一个 属性 名为 V 的对象本身就是一个对象数组。您将如何使用 Where-Object 来 select 仅返回其 V 属性 长度大于 0 的对象?
我尝试了以下方法,但似乎不起作用:
Where-Object($_.V.length -gt 0)
您需要使用花括号 {}
,而不是圆括号 ()
,用于过滤子句:
Get-MyObj | Where-Object { $_.V.Length -gt 0 }
另一种解决方案(我发现管道的解决方案更优雅):
(Get-MyObj).Where({$_.V.Length -gt 0})
假设您有一个 PowerShell 命令 Get-MyObj。这个 returns 个对象有一个 属性 名为 V 的对象本身就是一个对象数组。您将如何使用 Where-Object 来 select 仅返回其 V 属性 长度大于 0 的对象?
我尝试了以下方法,但似乎不起作用:
Where-Object($_.V.length -gt 0)
您需要使用花括号 {}
,而不是圆括号 ()
,用于过滤子句:
Get-MyObj | Where-Object { $_.V.Length -gt 0 }
另一种解决方案(我发现管道的解决方案更优雅):
(Get-MyObj).Where({$_.V.Length -gt 0})