Официальную документацию см. В разделе about_Variables help topi c (вызовите его с помощью help about_Variables
) и, в частности, в разделе "Имена переменных, которые включают специальные символы" .
Заключение имени переменной в {...}
- например, ${foo}
- однозначно разделяет имя переменной (foo
).
Несмотря на то, что вы можете использовать эту нотацию с любой ссылкой на переменную, для этого необходимо в следующем сценарии ios:
Если имя содержит необычные символы , такие как -
или .
(точный набор допустимых символов см. В справке topi c); Например:
Если ссылка на переменную встроена в расширяемая строка ("..."
) , вам может потребоваться сообщить PowerShell, где заканчивается имя переменной , если сразу следующие символы будут интерпретироваться как часть имени переменной; Например:
"${foo}: bar"
- без {...}
PowerShell будет интерпретировать $foo:
как (неполное) имя переменной, что приводит к ошибке, поскольку foo
интерпретируется как имя дисковода PS в контексте нотации переменных пространства имен .
- Примечание. Альтернативой в этом случае является
`
-экранирование :
символ: "$foo`: bar"
"A ${foo}l and his money ..."
- без {...}
PowerShell будет искать вместо переменной $fool
.
Хотя в вашем примере (${Name}
) включение в {...}
является не необходимым, причина его использования заключается в том, что код был автоматически создан как прокси-функция , заключающая в себе командлет Get-Help
, и этот механизм генерации методично включает все переменные в {...}
.