CMD: SET : SETX :: %ABC% : ??? -- Получение "глобального"/"исходного" ENV после изменения с помощью SET

CMD: SET : SETX :: %ABC% : ??? -- Получение "глобального"/"исходного" ENV после изменения с помощью SET

SET "временно"устанавливает/изменяет environment variable.

Как получить «исходный» / «глобальный» / «неизмененный» параметр из оболочки/процесса, в котором он был изменен?


Чтобы объяснить название: SETработает в том, что я называю локальный масштаби SETXвГлобальныйодин.
%ABC%возвращает мне переменную излокальный масштаб, но я ищу что-то, чтобы получить это отГлобальныйодин.

Таким образом SET: SETX:: %ABC%: ???

решение1

Чтобы избежать путаницы с терминологией, используемой в доменах в сетях, вместо «локальный» говорите «на пользователя», а вместо «глобальный» говорите «на машину» (для всех локальных пользователей).

«Локальный» на самом деле означает «только на этой машине» и может означать длявселокальные пользователи.

Переменные для каждой машины хранятся в

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Переменные для каждого пользователя хранятся в HKEY_CURRENT_USER\Environment

SETX может быть на пользователя или на машину.

SET является временным (на время сеанса CMD); SETX является постоянным (хранится в реестре).

Переменные, заданные с помощью SETX, недоступны ни в одном сеансе CMD, открытом на момент их установки; они будут доступны в новых сеансах CMD.

Чтобы задать переменную «для каждой машины», используйте параметр /M с SETX.

Пример демонстрации:

Введите это как администратор:

C:\WINDOWS\system32>setx apps %SystemDrive%\apps /m
SUCCESS: Specified value was saved.

Затем откройте еще одно окно cmd как пользователь без прав администратора:

C:\Users\jh>echo %apps%
C:\apps

Хотя «apps» действует на уровне всего компьютера, %apps% получает значение для обычного пользователя.

Таким образом, формат «%ABC%» принимает как пользовательские, так и машинные переменные.

Чтобы очистить эту переменную, как администратор, выполните:setx apps "" /m

Связанный контент