PowerShell中使用Like运算符配合通配符查找字符串例子
本文介绍在PowerShell中使用通配符来查找字符串,和通配符一起使用的是like运算符。
在PowerShell中的通配符是星号(*)和问号(?),这跟DOS系统中是一样的。要使用通配符在字符串中查找,可以使用like运算符。举例如下:
“123”是以1开头
PSC:\Users\splaybow>"123"-like"1*" True
“123”是以1开头,3结尾
PSC:\Users\splaybow>"123"-like"1*3" True
“123”包含2
PSC:\Users\splaybow>"123"-like"*2*" True
“123”中包含1
PSC:\Users\splaybow>"123"-like"*1*" True
“123”有3个字符
PSC:\Users\splaybow>"123"-like"???" True
“123”有2个字符
PSC:\Users\splaybow>"123"-like"??" False
通过以上一些例子,大家应该对-like运算符加通配符来实现字符串查找有比较深刻的认识了。
需要说明的是,like运算符的返回值是布尔值,即True或Flase。那它可以用于条件判断,比如if语句中,或者where-object语句中。下面的例子用于列出当前正在运行的程序中,程序名称是以字母“c”开头的。
PSC:\Users\spaybow>Get-Process|?{$_.name-like"c*"}
Handles NPM(K) PM(K) WS(K)VM(M) CPU(s) IdProcessName ------- ------ ----- ---------- ------ ------------- 24 5 2264 3424 48 0.02 5332cmd 46 6 1860 5208 63 1064conhost 62 8 2916 7736 81 0.27 5304conhost 637 12 2264 5148 84 512csrss 540 22 2904 29252 216 624csrss