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


О подстановочных знаках

КРАТКОЕ ОПИСАНИЕ

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

ПОДРОБНОЕ ОПИСАНИЕ

Символы-шаблоны представляют один или несколько символов. Их можно использовать для создания шаблонов Word в командах. Например, чтобы получить все файлы в C:\Techdocs каталоге с .ppt расширением имени файла, введите:

Get-ChildItem C:\Techdocs\*.ppt

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

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

Подстановочный знак Описание Пример Соответствует Нет совпадений
* Совпадение с нулем или несколькими символами a* aA, AG, Apple банан
? Совпадение с одним символом в этой позиции ? n Объект, в, на обнаружил
[ ] Совпадение с диапазоном символов [a-l] УК книга, Кука, взгляд была
[ ] Совпадение с конкретными символами [BC] УК книга, Кука ключ

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

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

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

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