Речі дещо складніші, ніж інколи робить 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? Я думав, що можна реалізувати команду / пакетний скрипт, щоб зробити їх явними за запитом ...