gpt4 book ai didi

powershell - 在 Powershell 中使用 "Where-Object"过滤输出

转载 作者:行者123 更新时间:2023-12-04 00:49:33 26 4
gpt4 key购买 nike

我正在尝试进入 PowerShell 并遇到了我的第一个障碍。

当我运行时

Get-Command | Where-Object CommandType -contains Cmdlet

我的输出被过滤,以便只显示包含“Cmdlet”的“CommandType”属性值的命令,如下所示:

enter image description here

对象“Source”也可以做同样的事情:
Get-Command | Where-Object Source -contains appx

这让我:

enter image description here

但是当我尝试运行时:
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?我现在很迷茫...

最佳答案

使用 likematch运算符(operator):

Get-Command | Where-Object Name -like Add*

这将匹配单词中的任何位置
Get-Command | Where-Object Name -match Add

但更好的方法是:
Get-Command -verb Add

阅读有关包含运算符 here 的更多信息

- 包含
描述:收容运算符(operator)。判断是否是引用集合
values 包括单个测试值。总是返回一个 bool 值。返回真
仅当测试值与至少一个引用值完全匹配时。
      PS C:\> "abc", "def" -Contains "def"
True

关于powershell - 在 Powershell 中使用 "Where-Object"过滤输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35334233/

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