关于通配符

简短说明

介绍如何在 PowerShell 中使用通配符。

详细说明

通配符表示一个或多个字符。 可以使用它们在命令中创建单词模式。 例如,要获取目录中具有文件扩展名的所有C:\Techdocs文件.ppt,请键入:

Get-ChildItem C:\Techdocs\*.ppt

在这种情况下,星号(*)通配符表示 .ppt 文件扩展名之前显示的任何字符。

PowerShell 支持以下通配符:

通配符 DESCRIPTION 示例: 匹配 无匹配项
* 匹配零个或多个字符 一个* aA、ag、苹果 香蕉
? 匹配该位置的一个字符 ?n an、in、on
【 】 匹配一系列字符 [a-l]ook 书, 做饭, 看 服用
【 】 匹配特定字符 [bc]ook 预订, 厨师 挂钩

可以在同一个单词模式中包含多个通配符。 例如,若要查找名称以字母开头的文本文件,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)"
  }
}

另请参阅

about_Language_Keywords

about_If

about_Script_Blocks