我剛開始學習PS。有人可以解釋我下面的例子(它的原因如果可能的話):字符串內的通配符行爲奇怪
Get-Command s*rvice
給像Set-Service
,Start-Service
等安打而不是命令,如New-Service
,Restart-Service
等
我剛開始學習PS。有人可以解釋我下面的例子(它的原因如果可能的話):字符串內的通配符行爲奇怪
Get-Command s*rvice
給像Set-Service
,Start-Service
等安打而不是命令,如New-Service
,Restart-Service
等
你」重新想象*
表示單個字符,但它可以匹配任意數量的字符。 s[e]rvice
和s[eeeeee]rvice
和s[tart-se]rvice
您正在閱讀s*rvice
將完全匹配您鍵入的文本,並改變只有在通配符。但你期望它匹配New-Service
,就好像它在開始和結束處有通配符,如*s*rvice*
- 但它不會,它只會匹配你輸入的模式;開始必須以s開頭,結束必須以e結尾。
謝謝,我想我已經在腦海裏分裂了結果。 :) Ansgar也謝謝你,朋友。 – gosko
這是因爲's * rvice'匹配以's'開頭並以'rvice'結尾的cmdlet名稱。 'New-Service'和'Restart-Service'都不以's'開頭。您可能需要'Get-Command * service'或'Get-CommandNoun * s * rvice'。 –