Переменные среды
Переменная среды́ (англ. environment variable) — текстовая переменная операционной системы, хранящая какую-либо информацию — например, данные о настройках системы.
Переменные окружения («Переменные среды», «environment variables») — текстовые переменные, наследуемые дочерниними процессами от родительского. Это означает, что переменные заданные для всей операционной системы будут доступны во всех запущенных приложениях; для пользователя – всех приложениям, запущенным этим пользователем; для какого-нибудь другой программы – только в запущенных через нее.
Переменные среды задаются в реестре Windows и программным обеспечением. Они могут использоваться в командной строке и в адресной строке проводника.
Имя переменной регистро-независимо (%VAR% и %Var% – одна и та же переменная).
Переменные среды Windows
Переменные среды Windows делятся на две категории:
- Переменные среды пользователя указывают путь до пользовательских каталогов. Локальные переменные такие как %userprofile% или %temp% возвращают, в зависимости от имени пользователя, различное значение которое указывает на местонахождение профиля пользователя и на папку временных файлов.
- Системные переменные хранят данные о некоторых директориях операционной системы и конфигурации компьютера. Системные переменные содержат одинаковое для всех пользователей значение, например %SYSTEMROOT% или %SYSTEMDRIVE%. %SYSTEMROOT% — указывает в какой папке установлена Windows. Как правило это C:\Windows. %SYSTEMDRIVE% — указывает на системный диск. В большинстве случаев это C:\
Работа с переменными
Чтобы получить доступ к значению переменной, необходимо поставить знак % перед её названием и после него, например: echo %PROCESSOR_ARCHITECTURE%. (Используйте программу echo если вы хотите увидеть значение переменной. Echo выводит на стандартный вывод все, что вы передадите ей в командной строке. )
Чтобы установить значение переменной: SET TEMP=C:\TEMP
Кроме того, с переменными среды можно работать, нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» (контекстное меню значка «Мой компьютер» → пункт «Свойства»).
В Windows к переменным окружения можно обращаться из командной строки заключая имя переменной в знаки «%».
В качестве примера можно привести переменную %APPDATA%, которая указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя. Обычно это C:\Documents And Settings\Пользователь\Application Data, где Пользователь это изменяемое значение. Для каждой учетной записи используется своё имя пользователя.
Чтобы каждый раз не узнавать имя учетной записи текущего пользователя и не подставлять в путь к папке Application Data соответствующее значение и используется переменная окружения %APPDATA%.
Это позволяет, к примеру, быстро открывать папку Application Data, для этого в меню «Пуск →Найти» или в «Пуск →Выполнить» введите %APPDATA% и нажмите клавишу Enter.
Чтобы получить значение переменной окружения через командную строку, используется команда echo, например: echo %PROCESSOR_ARCHITECTURE%
Введенная в командной строке, эта комбинация отобразит архитектуру процессора текущего компьютера. Возможен один из трёх вариантов: x86, IA64, AMD64.
Некоторые переменные среды
Список переменных среды Windows можно узнать, набрав в командной строке: set или нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» («Мой компьютер»→»Свойства»).
Имя | Назначение | Пример значения |
%ALLUSERSPROFILE% | Указывает путь до папки общих документов и настроек, общих для всех пользователей. | C:\Documents And Settings\All Users |
%APPDATA% | Указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя. | C:\Documents And Settings\Администратор\Application Data |
%CLIENTNAME% | Переменная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа. | MyPC |
%COMMONPROGRAMFILES% | Указывает путь до папки, в которой хранятся общие для установленных программ файлы. | C:\Program Files\Common Files |
%COMPUTERNAME% | Хранит имя компьютера в локальной сети. | Начальник |
%COMSPEC% | Хранит путь до текущего командного интерпретатора Windows. | C:\Windows\System32\cmd.exe |
%HOMEDRIVE%, %SYSTEMDRIVE% | Хранит имя системного диска. | C: |
%HOMEPATH%, %USERPROFILE% | Хранит путь до домашней папки пользователя | C:\Documents And Settings\Администратор |
%WINDIR% | Хранит путь до папки, в которую установлена Windows | C:\Windows |
%SYSTEMROOT% | Хранит путь до системной папки (где хранится ядро и т. п.) | C:\Windows |
%PROGRAMFILES% | Хранит путь до папки с установленными приложениями | C:\Program Files |
%SESSIONNAME% | Хранит имя пользовательского сеанса. В локальном сеансе имеет значение Console, в среде удаленного подключения к рабочему столу протоколом TCP/IP имеет вид RDP-Tcp#<номер сеанса>. | Console, RDP-Tcp#1 |