關於萬用字元
簡短描述
說明如何在 PowerShell 中使用萬用字元。
詳細描述
萬用字元代表一或多個字元。 您可以在命令中使用它們來建立文字模式。 例如,若要取得副檔名為的目錄中的所有檔案 C:\Techdocs
.ppt
,請輸入:
Get-ChildItem C:\Techdocs\*.ppt
在此情況下,星號( *
)萬用字元代表在副檔名之前出現的任何字元 .ppt
。
PowerShell 支援下列萬用字元:
萬用字元 | 描述 | 範例 | 相符項目 | 沒有相符的 |
---|---|---|---|---|
* | 比對零或多個字元 | a* | aA、ag、Apple | 香蕉 |
? | 符合該位置中的一個字元 | ? n | 中的、 | 延續 |
[ ] | 符合字元範圍 | [a-l] ook | 著作、庫、尋找 | 過 |
[ ] | 符合特定字元 | [bc] ook | 書籍,庫 | 上鉤 |
您可以在相同的字組模式中包含多個萬用字元。 例如,若要尋找名稱開頭為字母a到l的文字檔,請輸入:
Get-ChildItem C:\Techdocs\[a-l]*.txt
許多 Cmdlet 都接受參數值中的萬用字元。 每個 Cmdlet 的說明主題會說明哪些參數接受萬用字元。 對於接受萬用字元的參數,其使用不區分大小寫。
您可以在命令和腳本區塊中使用萬用字元,例如建立代表屬性值的文字模式。 例如,下列命令會取得ServiceType屬性值包含Interactive的服務。
Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}
在下列範例中, If
語句包含一個使用萬用字元來尋找屬性值的條件。 如果還原點的描述包含PowerShell,此命令會將還原點的CreationTime屬性值新增至記錄檔。
$p = Get-ComputerRestorePoint
foreach ($point in $p) {
if ($point.description -like "*PowerShell*") {
Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)"
}
}