@Creat1ve

Как в Powershell экранировать звёздочку?

Доброго времени суток. Как в Powershell экранировать звёздочку?
Работал с веткой реестра HKEY_CLASSES_ROOT\*\ , так он у меня всю ветку удалил. Такой засады от Билли я не ожидал.

UPD1: Альтернативное решение для своей задачи нашёл, возможно не самое изящное, но вдруг кому пригодится:
Get-ChildItem HKLM:\Software\classes\ | Where-Object -property PSChildName -eq "*"

UPD2: Get-ChildItem -LiteralPath HKLM:\Software\classes\*
Оно же работает на Set-Item и Set-ItemProperty

UPD3: Да здравствует маразм, универсальное решение найдено. Звёздочка в пути экранируется двумя бэктиками, т.е. ` (не путать с апострофом и кавычками). Напр., New-Item -Path "HKLM:\Software\classes\``*" -Name "test"
По всей видимости, первый бэктик экранирует второй и проходит через фильтр строки, а второй в свою очередь даёт знать интерпретатору, что звездочка - это обычный символ, а не символ подстановки.
  • Вопрос задан
  • 1070 просмотров
Пригласить эксперта
Ответы на вопрос 1
ну или через -match
```
HKCU:
pushd Software\Classes
get-childitem | where-object {$_.name -match '\*'}
```

```
Hive: HKEY_CURRENT_USER\Software\Classes

Name Property
---- --------
*
```
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы