Вопрос Установка и получение переменных среды Windows из командной строки?


Я хочу установить переменную среды из командной строки и затем получить доступ к ней глобально (например, я должен увидеть ее, перейдя в System -> Environment Variables).

Когда я использую команду set, она недоступна в новом сеансе cmd.

set NEWVAR=SOMETHING
echo %NEWVAR%

Связанные вопросы:


182
2017-12-06 21:52


происхождения


Значение переменной setx - перезапустить командную строку - Andrew


ответы:


Чтобы глобальная переменная среды была доступна глобально, вам необходимо установить ее в реестре. Как вы поняли, просто используя:

set NEWVAR = ЧТО-ТО

вы просто устанавливаете его в текущем пространстве процесса.

В соответствии с эта страница вы можете использовать setx команда:

setx NEWVAR SOMETHING

setx встроен в Windows 7, но для более старых версий может быть доступен только в том случае, если вы устанавливаете Windows Resource Kit


196
2017-12-06 21:58



Оказывается, что setx также встроен в окна 7. - Shane
Обратите внимание, что вам нужно указать квоту, например: setx JAVA_HOME "C:\Program Files\Java\jdk1.7.0_45" будет работать. Но setx JAVA_HOME C:\Program Files\Java\jdk1.7.0_45даст вам синтаксические ошибки - MD. Mohiuddin Ahmed
@ MD.MohiuddinAhmed Это потому, что на пути есть пробелы. - ChrisF
К сожалению! Я этого не замечал! ... Еще хороший момент для заметки :) Спасибо @ChrisF! - MD. Mohiuddin Ahmed
это цитата, а не квота - phuclv


Мы также можем использовать «setx var variable / M», чтобы установить переменную уровня переменной var в системную среду вместо уровня пользователя.

Примечание. Эта команда должна запускаться как администратор.


29
2017-08-26 10:37





setx program "C:\Program Files" /M

/ M для заданного уровня переменной среды системы вместо уровня пользователя, например @Minh Chau answer

Контрольная работа enter image description here

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

enter image description here


7
2018-02-08 14:54



Это дублирует другой ответ и не добавляет нового контента. Пожалуйста, не публикуйте ответ, если у вас нет чего-то нового для участия. - DavidPostill♦
@DavidPostill мой ответ есть новый, нам нужна перезагрузка командной строки. Я думаю, что это важно - Phan Van Linh


Системные переменные могут быть установлены через CMD и реестр Напр. reg query "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Environment" / v PATH

Здесь приведены все используемые коды CMD и системные переменные: Установите переменные системной среды Windows, используя CMD,

Открыть CMD и тип Задавать

Вы получите все значения системной переменной.

Тип установить java узнать подробности пути java, установленные на вашей ОС Windows.


1
2018-03-09 05:06



Пожалуйста, внимательно прочитайте вопрос. Ваш ответ не ответьте на оригинальный вопрос. - DavidPostill♦
Тем не менее, это близко. Использование REG ADD может выполнить это? - TOOGAM


Старая нить я наткнулся,

Как упоминалось в @ ChrisF ответ вы можете установить переменную, используя set или setx команда.

И для получения значений, которые вы можете использовать

>set variable_name

И вы можете сбросить всю переменную окружения со значениями, используя команду set, как это, без каких-либо параметров.

>set

И для снятия этой переменной мы можем использовать

>set variable_name=

Не придавая значения, мы можем удалить переменную из текущего пространства.


1
2018-01-30 06:04



Которые должны быть set variable_name= (остерегайтесь пробелов после имен переменных). - DavidPostill♦


Я хочу добавить, что если вы используете параметр / s с setx для установки переменных среды на удаленном компьютере, служба «Удаленный реестр» должна быть запущена на целевой машине, иначе вы получите сообщение «ОШИБКА: указанная операция не может быть выполнена ».

(Я попросил Microsoft обновить их Статья TechNet о setx чтобы включить эту информацию.)


0
2018-05-18 19:35