Поделиться через


about_Wildcards

Краткое описание

Описывает использование подстановочных знаков в PowerShell.

Подробное описание

Подстановочные знаки представляют один или несколько символов. Их можно использовать для создания шаблонов слов в командах. Выражения с подстановочными знаками используются с оператором -like или с любым параметром, который принимает подстановочные знаки.

Например, чтобы сопоставить все файлы в каталоге C:\Techdocs с расширением .ppt имени файла, введите:

Get-ChildItem C:\Techdocs\*.ppt

В этом случае подстановочный знак звездочки (*) представляет все символы, которые появляются перед расширением .ppt имени файла.

Выражения с подстановочными знаками проще, чем регулярные выражения. Дополнительные сведения см. в разделе about_Regular_Expressions.

PowerShell поддерживает следующие подстановочные знаки:

Подстановочный знак Описание Пример Соответствие Нет совпадений
* Совпадение с нулевым или более символами a* aA, ag, Apple Банан
? Совпадение с одним символом в этой позиции ?n an, in, on Побежал
[ ] Сопоставление диапазона символов [a-l\]ook книга, повар, взгляд Взял
[ ] Совпадение определенных символов [bc]ook книга, повар Крюк
`* Сопоставление любого символа как литерала (не подстановочного знака) 12`*4 12*4 1 234

В один и тот же шаблон слова можно включить несколько подстановочных знаков. Например, чтобы найти текстовые файлы с именами, начинающимися с букв a до l, введите:

Get-ChildItem C:\Techdocs\[a-l]*.txt

В ряде случаев требуется сопоставить литеральный символ, а не рассматривать его как подстановочный знак. В таких случаях можно использовать символ обратного черта (`), чтобы экранировать подстановочный знак, чтобы сравнить его с помощью литерального значения символа. Например, соответствует строкам, '*hello`?*' содержащим "hello?".

Многие командлеты принимают подстановочные знаки в значениях параметров. В разделе справки для каждого командлета описывается, какие параметры принимают подстановочные знаки. Для параметров, которые принимают подстановочные знаки, их использование не учитывает регистр.

Вы можете использовать подстановочные знаки в командах и блоках скриптов, например, для создания шаблона слова, представляющего значения свойств. Например, следующая команда возвращает службы, в которых значение свойства 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)"
  }
}

См. также раздел