Я устанавливаю переменную окружения с помощью setx(win7) в cmd, которую я запустил из командного файла, если я снова закрываю оболочку, открываю новый из командного файла и использую команду Set, чтобы проверить это, я не получаю этот новый переменная. Я могу видеть переменную через Windows и regedit, у кого-то была идея, что я делаю неправильно?

EG.

Batch:

Рем установил некоторые локальные переменные

Установить varableA = "тест"

...

Пуск /B cmd.exe /k

В раскрытой оболочке:

Setx -m значение переменнойB -> установить системный envirtomet переменный

Закройте оболочку и снова запустите пакет

В новой оболочке:

Установить вар

И thgerre не является переменнойB, но в реестре Windows я вижу это

1 ответ1

2

Даже если вы теперь знаете, что сделали неправильно. Вы все еще должны сказать в своем вопросе. Ваш вопрос плохо задан, потому что вы спрашиваете, почему то, что вы сделали, не сработало, и вы не показали, что именно сделали. Вставьте команды, которые вы сделали.

Вот как можно использовать setx. Это работает.

C:\>setx aaa rrr

SUCCESS: Specified value was saved.

Вот доказательство того, что

C:\>@REG QUERY "HKCU\Environment"


HKEY_CURRENT_USER\Environment
    TEMP    REG_EXPAND_SZ    %USERPROFILE%\AppData\Local\Temp
    TMP    REG_EXPAND_SZ    %USERPROFILE%\AppData\Local\Temp
    aaa    REG_SZ    rrr

Теперь, если вы установили (команда для просмотра переменных среды), значение не будет отображаться. Но откройте новое окно cmd и сделайте set, и оно отобразится. Он находится в разделе переменных env пользователя. а не системный.

Для системной переменной среды вам потребуется setx aaa 123 -m (то есть -m в конце), а расположение в реестре для системных переменных в xp или 7 будет HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment и вам понадобится командная строка в административном. И следите за путём, который вы должны setx pathbk "%path%" -m

Я рекомендую написать командный файл для постоянной установки% uvar% и% mvar%, чтобы они указывали на расположение реестра для переменных среды

set mvar = HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

setx mvar "% mvar%"

set uvar = HKCU\Environment

setx uvar "% uvar%"

тогда вы можете сделать

reg query% uvar%

reg query% mvar%

Примечание: setx может быть немного опасным, писать что-то, чего вы не собирались, поэтому сначала установите> aa, чтобы получить резервную копию.

связанные с

https://stackoverflow.com/questions/1472722/how-to-remove-an-environment-variable-from-the-system-configuration-with-a-batch

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .