Речі дещо складніші, ніж інколи робить Microsoft.
У Реєстрі зберігається багато змінних середовищ. Це означає, що ви можете запитувати їх за допомогою reg
команди
Спільний для всіх користувачів
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment"
Характерно для поточного сеансу користувача
reg query HKCU\Environment
reg query "HKCU\Volatile Environment"
Встановити користувачем
Якщо ви постійно встановлюєте власну змінну середовища за допомогою setx variable value
команди, вона зберігається в реєстрі, але не стає одразу доступною.
C:\>setx test removeme
SUCCESS: Specified value was saved.
C:\>reg query "HKCU\Environment"
HKEY_CURRENT_USER\Environment
Path REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Microsoft\WindowsApps;
TEMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
TMP REG_EXPAND_SZ %USERPROFILE%\AppData\Local\Temp
test REG_SZ removeme
Якщо ви використовуєте set variable=value
команду, змінна доступна негайно, але не зберігається в реєстрі. Ви не можете використовувати reg
команду для їх переліку, хоча вони показані set
. Ці тимчасові змінні середовища не зберігаються після завершення сеансу командного рядка.
Динамічні змінні середовища
Є конструкції, які діють як змінні середовища, які не зберігаються в реєстрі таким чином. Наприклад:
echo %TIME%
setx test removeme
тоді щось,set test %test%
щоб ви могли мати всі перелічені перелічені з простогоset
? Я думав, що можна реалізувати команду / пакетний скрипт, щоб зробити їх явними за запитом ...