about_Wildcards
主题
about_Wildcards
简短说明
说明如何在 Windows PowerShell 中使用通配符。
详细说明
在许多情况下,您可能希望对一组项(而不是单个项)运行 cmdlet。例如,您可能希望查找
C:\Techdocs 目录中所有文件扩展名为 .ppt 的文件。如果运行以下命令,将返回该目录中的所有项:
Get-ChildItem c:\techdocs
此命令的问题在于,您将不得不实际检查该目录中列出的所有文档,以确定哪些文件使用了 .ppt 文件
扩展名。不过,您可以通过在 cmdlet 的参数中使用通配符来限制返回的项。通配符是一种占位符,用于
搜索未知值以返回特定结果。使用通配符的过程有时称为"通配"。例如,您可以重新执行前一示例,以
便只返回 .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