Переменные окружения - System и User PATH через консоль

Доброго времени суток!

Существует ли простой способ получить значение переменной окружения PATH, отдельно для пользователя «User» и системы «System», с помощью консоли Windows (cmd.exe) без обращения к ветвям реестра?

Код для PowerShell тоже подойдёт, но только если он будет работать для версии v1.0, которая по-умолчанию предустановлена в Windows 7.


Ответы (2 шт):

Автор решения: Michael
  • Shift + правый клик по Рабочему столу
  • В меню выбрать [Открыть окно команд]
  • В окне команд ввести powershell
  • Вставить фрагмент кода

При этом переменная PATH будет записана в текстовый файл

$n = "`r`n"; $u = "(USR-PATH): $n$n"; $s = "(SYS-PATH): $n$n";
$usr = [Environment]::GetEnvironmentVariable('Path','User');
$sys = [Environment]::GetEnvironmentVariable('Path','Machine');
$u + $usr + $n + $n + $s + $sys + $n -split ';' > env.txt

По желанию, можно добавить следующий фрагмент, чтобы записать все переменные окружения:

ls env: >> env.txt
→ Ссылка
Автор решения: Дмитрий Куликов

Можно попробовать через реестр

   $PATH_USER =  'HKCU:\Environment\'
   $PATH_MACHINE ='HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\'
   Get-ItemPropertyValue -Path $PATH_USER -name 'path' #чтение сред из реестра для пользователя (отдает в виде строки)
   Get-ItemPropertyValue -Path $PATH_MACHINE -name 'path' #чтение сред из машины для пользователя (отдает в виде строки)

Можно попробовать через класс .NET

   ALL_PATH[System.Environment]::GetEnvironmentVariable('PATH','machine') 
→ Ссылка