О подстановочных знаках
КРАТКОЕ ОПИСАНИЕ
Описывает использование подстановочных знаков в 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)"
}
}