Переменные среды в PowerShell с точкой (.) в названии

StackOverflow https://stackoverflow.com/questions/312314

  •  10-07-2019
  •  | 
  •  

Вопрос

Я знаю, что могу получить доступ к переменным среды в PowerShell, используя $Env.Например, я могу получить доступ FOO с $Env:FOO.

Я не могу понять, как получить доступ к вызываемой переменной окружения FOO.BAR.

$Env:FOO.BAR не работает.Как я могу получить к этому доступ из PowerShell?

Это было полезно?

Решение

Чтобы получить доступ к любому виду переменной PowerShell, где имя содержит не алфавитно-цифровые символы, используйте обозначение $ {…}, как в:

${env:variable.with.dots} = "Hi there"
${env:variable.with.dots}

Это работает для переменных на любом диске (реестр, файловая система и т. д.)

Другие советы

Используйте метод .NET, чтобы получить переменную:

[Environment]::GetEnvironmentVariable("FOO.BAR")

Использование:

Get-WMIObject Win32_Environment -filter "name='foo.bar'"
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top