本文介紹在PowerShell中使用通配符來查找字符串,和通配符一起使用的是like運算符。
在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加通配符查找字符串,本文就介紹這么多,希望對您有所幫助,謝謝!
新聞熱點
疑難解答