Работая с операционной системой Windows, вы, возможно сталкивались, с переменными среды. В этой статье вас ждёт немного теории и немного практики относительно применения переменных среды Windows.
Переменные среды являются текстовыми переменными, которые хранят в себе информацию об операционной системе. Как правило, это информация о настройках ОС.
В Windows переменные среды делятся на две категории:
- Системные переменные — хранят данные о некоторых каталогах операционной системы и о конфигурации компьютера;
- Переменные среды пользователя — хранят данные о местоположении пользовательских каталогов.
Выделяются переменные среды в Windows символом «%» вокруг имени переменной. Например, %TEMP%. Ниже перечень основных переменных.
Имя | Описание |
%ALLUSERSPROFILE% | Путь к общей папке документов и пользовательских настроек |
%APPDATA% | Путь к папке, где хранятся настройки некоторых программ |
%CLIENTNAME% | Переменная определена только в среде удалённого подключения к рабочему столу и хранит имя (%COMPUTERNAME%) подключенного компьютера-клиента |
%COMMONPROGRAMFILES% | Путь до папки, где хранятся общие для установленных программ файлы |
%COMPUTERNAME% | Имя компьютера |
%COMSPEC% | Путь к файлу текущего командного интерпретатора Windows (обычно это cmd.exe — командная строка) |
%DATE% | Текущая дата |
%HOMEDRIVE%, %SYSTEMDRIVE% | Имя системного диска |
%HOMEPATH%, %USERPROFILE% | Путь к папке пользователя |
%LOCALAPPDATA% | Путь к папке локального размещения данных приложений |
%OS% | Название операционной системы (современные версии Windows отображаются как Windows_NT) |
%PATH% | Путь поиска исполняемых файлов |
%PATHEXT% | Расширения файлов, которые система считает исполняемыми |
%PROGRAMFILES% | Путь до папки с установленными программами (Program Files) |
%PROGRAMFILES(x86)% | Путь до папки с установленными программами архитектуры x86 (Program Files (x86)) в 64-битных системах |
%RANDOM% | Случайное число от 0 до 32767. Генерируется командным интерпретатором cmd.exe |
%SESSIONNAME% | Имя пользовательского сеанса |
%SYSTEMROOT% | Путь к папке с ядром операционной системы и другим системным файлам |
%TEMP%, %TMP% | Путь к папкам с временными файлами |
%USERNAME% | Имя текущего пользователя |
%USERPROFILE% | Путь к папке профиля текущего пользователя |
%WINDIR% | Путь к папке, в которую установлена Windows |
В графическом интерфейсе системы посмотреть переменные среды можно в свойствах ОС (Дополнительные параметры системы).
В этом же окне можно создать, отредактировать и удалить переменные.
Иногда переменная среды может иметь вид списка. Так, например, переменная %PATHEXT% представляет собой список расширений. Пункты списка разделяются точкой с запятой.
Создать, отредактировать или удалить переменную очень просто. Достаточно нажать нужную кнопку. При создании требуется указать имя новой переменной и её значение. При редактировании — новое значение.
Работать с переменными среды можно и через командную строку.
Посмотрим значение переменной %OS%:
echo %os%
Изменить значение переменной можно командой
set os=Windows_8.1
На скриншоте ниже видно, что мы успешно изменили значение переменной.
Если нужно вывести список всех переменных среды, используйте команду
set
Можно выполнить экспорт списка переменных в текстовый файл:
set > C:\environment_variables.txt
Для создания переменной среды в командной строке используется команда SETX (по сути, отдельная утилита SetX.exe). Синтаксису данной команды у нас посвящена отдельная статья. Не будем углубляться в неё подробно здесь. Самый простой пример использования команды SETX:
setx PRIMER new
Эта команда создаст переменную среды пользователя с именем %PRIMER% и присвоит ей значение «new». Если нужно создать системную переменную, используйте команду
setx PRIMER new /M
Кроме всего прочего, работать с переменными среды можно и через реестр Windows. Переменные среды находятся в реестре по адресу HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment. Создавая, удаляя и редактируя параметры, вы можете управлять переменными среды Windows.
P.S. Работе с переменными среды в Windows PowerShell посвящена отдельная статья.
Статьи по теме: