задать переменную среды из пакета

когда я устанавливаю переменную окружения envir С помощью setx команда, кажется, на самом деле не "установить" в среде.

setx envir "windows"
if 1==1 (
    setx envir "unix"
)
echo %envir%
set

set команда отображает список переменных окружения, но не отображает переменную, заданную в предыдущей строке.

25
задан DDK
10.02.2023 8:36 Количество просмотров материала 3623
Распечатать страницу

2 ответа

в вашем примере, переменная среды %ENVIR% установлено значение "windows". Это хранится в пользовательских переменных среды в Windows реестра. Это изменение не находит прямого отражения в средах текущих активных процессов.

чтобы увидеть эту новую настройку через set команда, вы должны открыть новое окно команды с помощью cmd.exe. Окно текущей команды не считывает автоматически измененные параметры из реестра. Вы также можете использовать систему контроль SYSTEM и Extended Properties / Environment:

enter image description here

1
отвечен Axel Kemper 2023-02-11 16:24

Аксель правильно.

setx сохраняет переменную в реестре, но изменение не отражается на окружении любой запущенной программы (в том числе и текущей).

вот некоторые соответствующие части производства setx /?:

C:\>setx /?

Description:
    Creates or modifies environment variables in the user or system
    environment. Can set variables based on arguments, regkeys or
    file input.

NOTE: 1) SETX writes variables to the master environment in the registry.

      2) On a local system, variables created or modified by this tool
         will be available in future command windows but not in the
         current CMD.exe command window.

      3) On a remote system, variables created or modified by this tool
         will be available at the next logon session. 
0
отвечен Kevin Fegan 2023-02-11 18:41

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх