Установить переменную окружения windows cmd

Как в командной строке Windows вывести все переменные среды

В этой статье будет показано, как вывести все переменные окружения в командной строке Windows.

PowerShell и CMD

В первую очередь нужно различать, в какой именно программе вы работаете. Первым появилась CMD — командная строка Windows, оболочка. Много лет CMD был единственным вариантом работы в командной строке Windows.

Затем появился PowerShell. Вначале он был средой, которую можно нужно было специально запускать. В последние годы PowerShell стал использоваться чаще, в «Меню продвинутого пользователя», которое вызывается сочетанием клавиш Win+x, PowerShell заменил CMD. Также в новом Terminal по умолчанию используется именно PowerShell.

Команды для вывода всех переменных окружения зависят от того, находитесь ли вы в PowerShell или в CMD, поэтому их нужно различать.

PowerShell выглядит так:

То есть приглашение командной строки начинается на «PS».

А CMD выглядит так:

Как вывести все переменные окружения в PowerShell

В PowerShell используйте одну из следующих команд:

Они не только равнозначны, на самом деле, это просто псевдонимы одной команды. То есть в их использовании нет никакой разницы.

Как вывести все переменные окружения в CMD

Чтобы вывести переменные среды в CMD используйте команду:

Чтобы вывод огранить одним экраном с возможностью пролистывания списка, используйте следующую конструкцию:

Для сохранения вывода в файл:

Этот текстовый файл output.txt можно открыть в любом редакторе, например в Notepad.

Для показа значения определённой переменной используйте знакомую команду set с указанием имени переменной:

Команда set выводит значение всех переменных, которые начинаются на строку ПЕРЕМЕННАЯ. К примеру, предыдущая команда выведет значение переменных PATH и PATHEXT.

А следующая команда выведет значения всех переменных, чьё имя начинается на P:

Обратите внимание, что имена команд в Windows не чувствительны к регистру.

SetX — создание или изменение переменных среды Windows

&nbsp &nbsp Команда SETX используется для создания новых и изменения существующих переменных среды окружения в командной строке Windows. Переменные окружения, это переменные, принимаемые значения которых характеризуют программную среду, в которой выполняется текущая программа — пути системных файлов, сведения об аппаратных средствах, каталоги пользователей и т.п. Значения переменных среды формируются в процессе загрузки Windows, регистрации пользователя в системе, при выполнении отдельных программ или с помощью команды SET . Команда SetX, является более мощным средством администрирования Windows, позволяющим изменять системные или пользовательские переменные не только на локальном компьютере, но и на удаленном. Переменные можно задавать с помощью аргументов, параметров реестра или ввода из файла. В отличие от команды SET, изменения переменных окружения, сделанные командой SetX, записываются в реестр и действуют не только в данном сеансе командной строки, но и в любом другом.
Первоначально, утилита SetX.exe входила в состав Windows 2000 Resource Kit в качестве дополнительного средства системного администрирования, но начиная с Windows Vista — входит в стандартный пакет поставки системы.

Используются три варианта синтаксиса команды SetX :

SETX [/S система [/U [домен\]пользователь [/P [пароль]]]] var значение [/M]

SETX [/S система [/U [домен\]пользователь [/P [пароль]]]] var /K путь [/M]

SETX [/S система [/U [домен\]пользователь [/P [пароль]]]] /F файл [/M] | /X> [/D разделители]

Параметры командной строки:

/S система — Имя или IP-адрес удаленного компьютера. Если не указан, то команда выполняется по отношению к локальному компьютеру.

/U домен\]пользователь — Пользовательский контекст, в котором должна выполняться эта команда.

/P пароль — Пароль для этого пользовательского контекста.

Читайте также:  Single board computers windows

var — Задаваемая переменная среды.

значение — Значение, назначаемое переменной среды.

/K путь — Задание переменной по информации, cодержащейся в параметре реестра. Путь должен задаваться в формате куст\раздел\. \параметр . Например, HKEY_LOCAL_MACHINE\System\ CurrentControlSet\Control\timeZoneInformation\StandardName.

/F файл — Имя текстового файла, который следует использовать.

/A x,y — Задание абсолютных координат файла (строка X, элемент Y) как параметров поиска в файле.

/R x,y строка — Задание координат относительно значения «строка» как параметров поиска.

/M — Указание создания переменной среды на системном уровне (HKEY_LOCAL_MACHINE). По умолчанию переменная среды создается в разделе HKEY_CURRENT_USER на уровне пользователя.

/X — Отображение содержимого файла с координатами x,y.

/D разделители — Указание дополнительных разделителей, таких как «,» или «\». Встроенные разделители: символы пробела, табуляции, возврата каретки и перевода строки. Дополнительным разделителем может быть любой знак ASCII. Максимальное число разделителей, включая встроенные, равняется 15. Вывод справки по использованию.

1) SETX записывает переменные в главную среду в реестре.

2) На локальном компьютере переменные, созданные или измененные данным средством, будут доступны в будущем окне командной строки, но не в текущем окне CMD.exe.

3) На удаленном компьютере переменные, созданные или измененные данным средством, будут доступны со следующего сеанса входа.

4) Допустимые типы параметров реестра: REG_DWORD, REG_EXPAND_SZ, REG_SZ, REG_MULTI_SZ.

5) Поддерживаемые кусты: HKEY_LOCAL_MACHINE (HKLM), HKEY_CURRENT_USER (HKCU).

6) Разделители определяются с учетом регистра.

7) Значения типа REG_DWORD извлекаются из реестра в десятичном формате.

Значения переменных окружения ( Environment variables ) записываются в реестр:

Пользовательские переменные — в раздел : HKEY_CURRENT_USER\Environment

Системные переменные — в раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Если значения каких либо переменных изменены в данной сессии командной строки Windows, то изменения вступят в силу только в новом сеансе, после перезапуска CMD ( или PowerShell ). Для изменения системных переменных ( ключ /M ) требуются права администратора ( «Запуск от имени администратора » в Windows 7).
Пользовательские переменные запоминаются в профиле и действительны, для перемещаемого профиля, на любом компьютере домена.
Если одно и то же имя переменной имеется в среде пользователя и в среде системы, то значение пользовательской переменной имеет более высокий приоритет.

Для редактирования переменных можно использовать панель управления — Панель управления — Система — Дополнительно — Переменные среды ( Control Panel — System — Advanced — Environment Variables )

Для удаления переменных среды можно воспользоваться Панелью управления, удалением ключей с переменными среды редактором реестра или консольной утилитой REG

REG delete HKCU\Environment /V MyVar — удалить пользовательскую переменную MyVar

Присвоение переменной пустого значения командой Setx не приводит к удалению ее имени из реестра, что может стать причиной проблем с выполнением некоторых программ. Если например, имеется пользовательская переменная с пустым значением, то по команде SET она не отображается, и при наличии системной переменной с таким же именем, ее значение станет недоступным из-за более высокого приоритета пользовательской переменной. Поэтому, во избежание конфликтов желательно не оставлять в реестре мусор из переменных с неприсвоенными значениями.

Примеры использования Setx:

SETX MACHINE COMPAQ — создать на локальном компьютере переменную среды пользователя с именем MACHINE, принимающую значение COMPAQ. Для просмотра значений переменных можно воспользоваться командой echo :

echo %MACHINE% — отобразить значение переменной MACHINE

Можно также использовать команду SET в цепочке с командой поиска текста FIND:

set | Find /i «machine»

setx.exe MACHINE «Asustek Computer» /M — создать на локальном компьютере системную переменную MACHINE, принимающую значение Asustek Computer . Если значение переменной содержит пробелы, то оно заключается в двойные кавычки.

Setx MYPATH «» — сбросить значение переменной окружения MYPATH ( сделать пустым )

SETX MYPATH «%PATH%» — создать на локальном компьютере пользрвательскую переменную окружения с именем MYPATH , принимающую текущее значение переменной PATH – пути поиска исполняемых файлов, сформированные на момент выполнения команды, например, Path=С:\Program Files\Far;С:\Program Files\NVIDIA Corporation\PhysX\Common;С:\WINDOWS\system32;С:\WINDOWS;С:\WINDOWS\System32\Wbem; . SETX MYPATH

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

Читайте также:  Arch linux rpm или deb

будут заменены на символы % , т.е в качестве значения переменной MYPATH будет записана строка %PATH%

SETX /S Server /U Mydomain\Admin /P AdmPass MYPATH «%PATH%» — установить на удаленном компьютере Server значение переменной окружения MYPATH равное текущему значению переменной PATH локального компьютера. Для подключения к удаленному компьютеру используется имя пользователя Admin в домене Mydomain и пароль AdmPass

SETX TZONE /K HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Control\timeZoneInformation\StandardName — установить значение среды TZONE равным содержимому ключа реестра

При выполнении команды SetX отображается извлеченное значение ключа реестра и результат записи нового значения переменной:

Извлечено значение: «@tzres.dll,-912».

Успех. Указанное значение сохранено.

setx /s 192.168.0.1 /U admin /P Admpass BUILD /K «HKLM\Software\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber» — создать на удаленном компьютере с IP-адресом 192.168.0.1 переменную BUILD , принимающую значение ключа реестра HKLM\Software\Microsoft\Windows NT\CurrentVersion\CurrentBuildNumber

SETX /F ipconfig.out /X — разбор содержимого текстового файла ipconfig.out с выводом координат каждого поля в виде x,y – (номер строки, номер колонки) . Нумерация строк и колонок начинается с 0 .

Для того, чтобы получить наглядное представление об обработке содержимого текстового файла, попробуйте создать текстовый файл следующего содержания:

a1 a2 a3 a4 a5
b1 b2 b3 b4 b5
c1 c2 c3 c4 c5
d1 d2 d3 d4 d5

Результат обработки этого содержимого командой SetX :

(0,0 a1)(0,1 a2)(0,2 a3)(0,3 a4)(0,4 a5)
(1,0 b1)(1,1 b2)(1,2 b3)(1,3 b4)(1,4 b5)
(2,0 c1)(2,1 c2)(2,2 c3)(2,3 c4)(2,4 c5)
(3,0 d1)(3,1 d2)(3,2 d3)(3,3 d4)(3,4 d5)

Таким образом, элемент (0,0 a1) — это координаты 0,0 , которым соответствует значение a1

Что такое переменные среды Windows

Операционные системы и Windows не исключение имеют в своем составе особый механизм хранения различной информации, называемый переменными. Кто знаком с программированием прекрасно понимает, что это. Остальные могут представить себе это в виде записи имя_переменной=значение переменной среды. Например, запись username=Vasya означает, что переменная с именем username содержит значение Vasya.

При этом подразумевается, что имя переменной неизменно, а значение может изменяться с течением времени. Представим себе, что в переменной username хранится имя текущего пользователя Windows. Когда мы вошли в систему под именем Vasya, то в username оказалось соответствующее значение, однако если мы сменим пользователя на Ivan, то и значение изменится и username будет равно Ivan. Из-за этой возможности изменяться их и называют переменными.

Они оказываются чрезвычайно полезными при создании скриптов, работе в командной строке и адресной строке Проводника. В основном они содержат информацию из разряда имя компьютера, имя пользователя, домашняя папка пользователя, каталог куда установлена ОС, архитектура процессора, папки для временных файлов и так далее.

Таким образом эта информация дает представление о текущем окружении, то есть описывает среду, в которой происходит выполнение программы, отсюда и получили свое название переменные среды (environment variables) или по-другому переменные окружения.

В чем их практический смысл? Представьте себе, что вы создаете командный файл, в котором используется путь к домашней папке пользователя, причем он должен работать на любом компьютере. Как его прописать, если имя учетной записи заранее не известно, да и расположение папки тоже? Конечно, его можно выяснить в недрах ОС, но гораздо проще и компактней просто написать %USERPROFILE%. Система сама заботится о правильном значении, поэтому в таком варианте скрипт будет корректно работать везде.

Вот другой пример. Если в адресную строку Проводника ввести %localappdata% и нажать Enter , то произойдет переход в папку, которую установленные программы используют для хранения своих локальных данных. Обычно это C:\Users\имя текущей учетной записи\AppData\Local в которую можно конечно перейти обычным способом, но учитывая, что AppData является скрытой, то данный способ может оказаться быстрее и проще. К тому же можно создавать собственные переменные среды на нужные папки.

Так же благодаря переменной path можно запускать программы без указания полных путей к исполняем файлам, что заметно упрощает использование компьютера.

Читайте также:  Windows 10 нет папки steam

Переменные среды Windows бывают нескольких видов:

  • Системные переменные — работают в пределах всего компьютера, хранятся в реестре в разделе HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment
  • Пользовательские переменные — действуют только для конкретной учетной записи и находятся в реестре по адресу HKCU\Environment
  • Сессионные переменные — существуют только в пределах текущего сеанса окна командной строки.

Настройка переменных среды Windows

В операционной системе имеется заранее предопределенный набор переменных окружения Windows и можно создавать собственные. Для просмотра и управления ими можно воспользоваться графическим интерфейсом. В разных версиях Windows вид окон немного отличается, но принципиально все одинаково. Правда в Windows 10 управление реализовано более удобно, чем в 7 и более старых версиях.

Настройка переменных среды Windows в графическом интерфейсе

Чтобы иметь возможность просматривать и редактировать переменные окружения в Windows 10 нужно выполнить следующие действия.

Щелкнуть правой кнопкой мыши по иконке «Этот компьютер» на рабочем столе и выбрать в меню «Свойства» или набрать в поиске на панели задач «Панель управления». Затем в левом столбце нажать на «Дополнительные параметры системы». В новом окне на вкладке «Дополнительно» есть кнопка «Переменные среды». Альтернативный вариант нажать комбинацию клавиш WIN + R и ввести systempropertiesadvanced .

Окно управления состоит из двух частей. В верхней представлены пользовательские переменные, а в нижней системные. Здесь можно просмотреть существующие, а также отредактировать, удалить или создать новые воспользовавшись соответствующими кнопками.

Чтобы создать переменную окружения нажимаем кнопку «Создать» в нужной части окна и вводим ее имя, значение и затем OK. Можно воспользоваться кнопкой «Обзор каталога» чтобы не вводить путь до нужной папки вручную.

Настройка переменных окружения Windows в командной строке

Конечно, есть альтернативный вариант настройки переменных окружения с помощью командной строки Windows. Чтобы cmd правильно понял, о чем идет речь ее нужно обернуть в символы процента вот так, %имя_переменной%. Соответственно, чтобы вывести на экран значение переменной среды команда будет такой: echo %имя_переменной% .

В Windows есть специальные команды, предназначенные для создания и редактирования переменных. Это set и setx принципиальная разница между которыми в том, что первая управляет ими только в текущем окне командной строки, а вторая изменяет их «навсегда» поскольку изменения сохраняются в реестре.

Для просмотра всех существующих переменных и их значений введите set без параметров.

Тут есть важный момент, который нужно понять, переменные среды считываются в момент запуска программы. Поэтому изменения, сделанные в графическом интерфейсе или командой setx не действуют на уже запущенные программы. Их придется закрыть и запустить снова. В то же время команда set влияет только на текущее окно или дочерние процессы.

Чтобы создать пользовательскую переменную среды или отредактировать существующую общий вид команды следующий setx имя значение , использовать кавычки при наличии пробелов. Если переменной с таким именем не существует, то она будет создана, в противном случае значение будет изменено на новое. Для управления системными переменными нужно дополнить команду ключом /m и командная строка должна быть запущена с правами администратора компьютера setx mypc T-800 /m .

Впрочем, у setx имеется недостаток, с ее помощью нельзя удалить существующую переменную, максимум можно присвоить ей пустое значение setx mypc «» . Хотя при этом она как бы не существует для cmd, но фактически она продолжает оставаться в реестре. Полноценное удаление возможно непосредственно в реестре или с помощью команд, обеспечивающих работу с ним, а также в графическом интерфейсе.

Для работы с сеансовыми переменными используется команда set. Синтаксис несколько отличается set имя=значение . Здесь уже используется знак равенства вместо пробела, при этом не допускается его наличие в имени. Таким образом изменить переменную окружения с именем temp в текущем окне CMD можно командой: set temp=D:\Archive\Garbage .

Использование переменных среды Windows сильно упрощает и ускоряет использование компьютера опытными пользователями. Каким способом их использовать каждый решает самостоятельно.

Оцените статью