在PowerShell中的通配符是星号(*)和问号(?),这跟DOS系统中是一样的。要使用通配符在字符串中查找,可以使用like运算符。举例如下:
“123”是以1开头
PS C:\Users\splaybow> "123" -like "1*"
True
“123”是以1开头,3结尾
PS C:\Users\splaybow> "123" -like "1*3"
True
“123”包含2
PS C:\Users\splaybow> "123" -like "*2*"
True
“123”中包含1
PS C:\Users\splaybow> "123" -like "*1*"
True
“123”有3个字符
PS C:\Users\splaybow> "123" -like "???"
True
“123”有2个字符
PS C:\Users\splaybow> "123" -like "??"
False
通过以上一些例子,大家应该对-like运算符加通配符来实现字符串查找有比较深刻的认识了。
需要说明的是,like运算符的返回值是布尔值,即True或Flase。那它可以用于条件判断,比如if语句中,或者where-object语句中。下面的例子用于列出当前正在运行的程序中,程序名称是以字母“c”开头的。
PS C:\Users\spaybow> Get-Process | ?{$_.name -like "c*"}
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
24 5 2264 3424 48 0.02 5332 cmd
46 6 1860 5208 63 1064 conhost
62 8 2916 7736 81 0.27 5304 conhost
637 12 2264 5148 84 512 csrss
540 22 2904 29252 216 624 csrss
注:上面PowerShell语句中的问号(?)是where-object的别名。
关于PowerShell使用Like加通配符查找字符串,本文就介绍这么多,希望对您有所帮助,谢谢!
要饭二维码
洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权
本文属于“洪哥笔记”原创文章,转载请注明来源地址:PowerShell使用Like加通配符查找字符串:http://www.splaybow.com/post/powersheel-like-wildcard.html
如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D!
发布时间:2013/10/13 21:27:10 | 编辑:洪哥 | 分类:PowerShell | 浏览: