【发布时间】:2016-05-21 22:16:36
【问题描述】:
我正在尝试使用 PowerShell,但遇到了我的第一个障碍。
当我跑步时
Get-Command | Where-Object CommandType -contains Cmdlet
我的输出被过滤,因此只有“CommandType”属性值包含“Cmdlet”的命令才会被显示,如下所示:
对象“Source”也可以做同样的事情:
Get-Command | Where-Object Source -contains appx
这让我很感动:
但是当我尝试运行时:
Get-Command | Where-Object Name -contains Add
我什么也得不到。 为什么我可以通过对象“CommandType”和“Source 但不是“Name”来过滤输出?我肯定在这里遗漏了一些东西......
编辑:我知道我可以跑:
Get-Command -verb "get"
并获得所需的输出。但我想弄清楚为什么我的“where-object”语句不起作用。
编辑 2:
显然,如果我使用“-match”比较运算符,它就可以工作......
get-command | where-object Name -match "add"
但“名称”属性不只是字符串吗? -match 应该用于正则表达式比较 afaik?我现在很迷茫……
【问题讨论】:
标签: powershell