PowerShell Like运算符如何配合通配符查找字符串?

发布时间:2020-03-23编辑:脚本学堂
本文介绍了在PowerShell中使用通配符来查找字符串,和通配符一起使用的是like运算符,感兴趣的朋友参考下。

Powershell Like运算符与通配符的用法,二者结合实现字符串查找

powershell中的通配符是星号(*)和问号(?),这跟DOS系统中是一样的。
要使用通配符在字符串中查找,可以使用like运算符。

例如:
“123”是以1开头
 

PS C:Userssplaybow> "123" -like "1*"
True

“123”是以1开头,3结尾
 

PS C:Userssplaybow> "123" -like "1*3"
True

“123”包含2
 

PS C:Userssplaybow> "123" -like "*2*"
True

“123”中包含1
 

PS C:Userssplaybow> "123" -like "*1*"
True

“123”有3个字符
 

PS C:Userssplaybow> "123" -like "???"
True

“123”有2个字符
 

PS C:Userssplaybow> "123" -like "??"
False
 

通过以上例子,大家可以对-like运算符加通配符来实现字符串查找有个比较深刻的认识。(www.jb200.com 脚本学堂)
说明,like运算符的返回值是布尔值,即True或Flase。那它可以用于条件判断,比如if语句中,或者where-object语句中。

以下例子用于列出当前正在运行的程序中,程序名称是以字母“c”开头的。
 

PS C:Usersspaybow> 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加通配符查找字符串的方法,希望对大家有所帮助。