about_Wildcards
主題
about_Wildcards
簡短描述
描述如何在 Windows PowerShell 中使用萬用字元。
完整描述
在很多情況下,您會想要針對一組項目執行 Cmdlet,而不是針對個別的項目。 例
如,您可能想要找出 C:\Techdocs 目錄中副檔名為 .ppt 的所有檔案。 如果您執
行下列命令,它會傳回該目錄中的所有項目:
Get-ChildItem c:\techdocs
這個命令的問題在於您必須目視檢查所有列在該目錄中的文件,以確定副檔名為 .ppt
的檔案。 不過,您可以在 Cmdlet 的參數中使用萬用字元,限制傳回的項目。 萬用
字元是一種預留位置,讓您可以搜尋未知的值,以便傳回特定的結果。 萬用字元使
用過程有時稱為「萬用字元」(Globbing)。 例如,您可改寫上述範例而僅傳回 .ppt
檔案:
Get-ChildItem c:\techdocs\*.ppt
本例中將星號 (*) 當成萬用字元,指定 .ppt 副檔名的前面可以是任何字元。 因為
其中已包含副檔名,所有由這個命令傳回的檔案都必須有該副檔名,但檔案可以是任
意名稱。 因此,只傳回所要尋找的檔案。
除了星號萬用字元外,Windows PowerShell 還支援多種萬用字元。
萬用字元 描述 範例 符合的項目 未符合的項目
-------- ------------------ -------- ----------------- --------
* 比對零個或多個字元 a* A、ag、Apple banana
? 只比對指定位置處的 ?n an、in、on ran
一個字元
[ ] 比對字元的範圍。 [a-l]ook book、cook、look took
[ ] 比對指定的字元 [bc]ook book、cook hook
大部分的 Cmdlet 都有一些參數可接受萬用字元。 每個 Cmdlet 的說明主題都有描
述允許使用萬用字元的參數 (如果有的話)。 若參數接受萬用字元,則使用上不區分
大小寫。
例如,?n 將會傳回 An、an、In、in、On 和 on。
您也可以在單一參數中混用多種萬用字元。 例如,假設您想要顯示 C:\Techdocs 目
錄中字母開頭為 a 到 l 的所有 .txt 檔案,則可以使用下列命令:
Get-ChildItem c:\techdocs\[a-l]*.txt
這個命令會以範圍萬用字元 ([a-l]) 來指定檔案名稱的開頭應為字母 a 到 l,然後
以星號萬用字元來為第一個字母與副檔名之間的任何字元提供預留位置。
請參閱
about_Language_Keywords