Nea*_*ers 2 powershell filtering where-clause
可以解释为什么哲学上这不起作用?就像一个学习示例一样,我希望看到get-service cmdlet的属性,而不需要事件或方法.
PS C:\Users\Neal> get-service | get-member | {$_.name -eq "Property"}
Run Code Online (Sandbox Code Playgroud)
结果:
At line:1 char:29
+ get-service | get-member | {$_.name -eq "Property"}
+ ~~~~~~~~~~~~~~~~~~~~~~~~
Expressions are only allowed as the first element of a pipeline.
+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : ExpressionsMustBeFirstInPipeline
Run Code Online (Sandbox Code Playgroud)
{$_.name -eq "Property"}
只是一个脚本块.如果要用于Where-Object
过滤结果get-member
,则需要键入Where-Object
:
PS C:\Users\Neal> get-service | get-member | Where-Object {$_.name -eq "Property"}
Run Code Online (Sandbox Code Playgroud)
或者您可以使用where
,这是别名Where-Object
:
PS C:\Users\Neal> get-service | get-member | where {$_.name -eq "Property"}
Run Code Online (Sandbox Code Playgroud)
甚至有一个特殊的字符?
指的是Where-Object
:
PS C:\Users\Neal> get-service | get-member | ? {$_.name -eq "Property"}
Run Code Online (Sandbox Code Playgroud)
上面给出的所有三个例子都做同样的事情.在它们之间进行选择只是一种风格问题.
归档时间: |
|
查看次数: |
1786 次 |
最近记录: |