Я хочу установить переменную среды из командной строки и затем получить доступ к ней глобально (например, я должен увидеть ее, перейдя в System -> Environment Variables).
Когда я использую команду set, она недоступна в новом сеансе cmd.
set NEWVAR=SOMETHING
echo %NEWVAR%
Связанные вопросы:
Чтобы глобальная переменная среды была доступна глобально, вам необходимо установить ее в реестре. Как вы поняли, просто используя:
set NEWVAR = ЧТО-ТО
вы просто устанавливаете его в текущем пространстве процесса.
В соответствии с эта страница вы можете использовать setx
команда:
setx NEWVAR SOMETHING
setx
встроен в Windows 7, но для более старых версий может быть доступен только в том случае, если вы устанавливаете Windows Resource Kit
Мы также можем использовать «setx var variable / M», чтобы установить переменную уровня переменной var в системную среду вместо уровня пользователя.
Примечание. Эта команда должна запускаться как администратор.
setx program "C:\Program Files" /M
/ M для заданного уровня переменной среды системы вместо уровня пользователя, например @Minh Chau answer
Контрольная работа

ПЕРЕЗАПУСК командной строки (если вы не перезапустите командную строку, переменная среды не будет работать)

Системные переменные могут быть установлены через CMD и реестр
Напр. reg query "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" / v PATH
Здесь приведены все используемые коды CMD и системные переменные: Установите переменные системной среды Windows, используя CMD,
Открыть CMD и тип Задавать
Вы получите все значения системной переменной.
Тип установить java узнать подробности пути java, установленные на вашей ОС Windows.
Старая нить я наткнулся,
Как упоминалось в @ ChrisF ответ вы можете установить переменную, используя set
или setx
команда.
И для получения значений, которые вы можете использовать
>set variable_name
И вы можете сбросить всю переменную окружения со значениями, используя команду set, как это, без каких-либо параметров.
>set
И для снятия этой переменной мы можем использовать
>set variable_name=
Не придавая значения, мы можем удалить переменную из текущего пространства.
Я хочу добавить, что если вы используете параметр / s с setx для установки переменных среды на удаленном компьютере, служба «Удаленный реестр» должна быть запущена на целевой машине, иначе вы получите сообщение «ОШИБКА: указанная операция не может быть выполнена ».
(Я попросил Microsoft обновить их Статья TechNet о setx чтобы включить эту информацию.)