Подстановочные символы в PowerShell
Подстановочные знаки представляют один или несколько символов. Вы можете использовать их для создания шаблонов слов в командах. Например, чтобы получить список всех файлой в каталоге C:\Techdocs с расширением в имени файла .ppt, введите:
Get-ChildItem C:\Techdocs\*.ppt
В этом случае подстановочный знак звёздочка (*) представляет любые символы, которые появляются перед расширением имени файла .ppt.
PowerShell поддерживает следующие подстановочные знаки:
Подстановочный знак | Описание | Пример | Соответствие | Не совпадает с |
* | Соответствует нулю или более символов | a* | aA, ag, Apple | banana |
? | Соответствует одному символу в этой позиции | ?n | an, in, on | ran |
[ ] | Соответствует диапазону символов | [a-l]ook | book, cook, look | took |
[ ] | Соответствует определённым символам | [bc]ook | book, cook | hook |
В один и тот же шаблон слова можно включить несколько подстановочных знаков. Например, чтобы найти текстовые файлы с именами, начинающимися с букв от A до L, введите:
Get-ChildItem C:\Techdocs\[a-l]*.txt
Многие командлеты принимают подстановочные знаки в значениях параметров. Раздел справки для каждого командлета описывает, какие параметры принимают подстановочные знаки. Для параметров, которые принимают подстановочные знаки, их использование нечувствительно к регистру.
Вы можете использовать подстановочные знаки в командах и блоках скриптов, например, для создания образца слова, представляющего значения свойств. Например, следующая команда выводит службы, в которых значение свойства SERVICETYPE включает INTERACTIVE.
Get-Service | Where-Object {$_.ServiceType -Like "*Interactive*"}
В следующем примере оператор If включает условие, в котором используются подстановочные знаки для поиска значений свойств. Если DESCRIPTION точки восстановления включает POWERSHELL, команда добавляет значение свойства CREATIONTIME точки восстановления в файл журнала.
$p = Get-ComputerRestorePoint foreach ($point in $p) { if ($point.description -like "*PowerShell*") { Add-Content -Path C:\TechDocs\RestoreLog.txt "$($point.CreationTime)" } }
Связанные статьи:
- Основы работы с PowerShell в Linux [Руководство для начинающих] (50%)
- Операторы сравнения в PowerShell (50%)
- Регулярные выражения в PowerShell (50%)
- Поиск по Active Director групп и пользователей с использованием подстановочных знаков (50%)
- Хеш-таблицы в PowerShell (строки которые начинаются на @) (полное руководство) (50%)
- Как присвоить вывод командлета переменной и как использовать переменную с сохранённым выводом (RANDOM - 50%)