Переменные среды
Переменные среды́ (англ. environment variables ) — текстовые переменные операционной системы, хранящие данные о ряде настроек системы.
Содержание
Переменные среды UNIX
Переменные среды устанавливаются пользователем или сценариями оболочки. Начальный набор переменных задаётся стартовыми сценариями операционной системы и сценариями, запускаемыми при регистрации пользователя в системе, в частности, /etc/profile и
Среда имеет большое значение в UNIX-системах, так как хранит множество настроек как системы в целом, так и отдельных программ. Важной особенностью является то, что при создании нового процесса он получает локальную копию среды, а, значит, не может изменить напрямую глобальные установки.
Среда представляет собой набор пар «имя переменной» и «значение переменной», реализация управления которыми возложена обычно на командный интерпретатор. Так как существует достаточно большое количество интерпретаторов, синтаксис отличается в зависимости от используемого пользователем. Как «имя», так и «значение» чувствительны к регистру символов, «Имя» обычно указывается в верхнем регистре, использование пробелов недопустимо.
Для получения значения переменной необходимо перед её именем поставить символ доллара. Так же иногда требуется заключить имя в скобки (например, в сценариях утилиты make).
Из командной строки управление переменными осуществляется с помощью export и env.
Переменные среды Windows
Переменные среды задаются в реестре Windows и программным обеспечением. Они могут использоваться в командной строке и в адресной строке проводника.
Классификация
Переменные среды Microsoft Windows делятся на две категории:
Синтаксис
Некоторые переменные среды
Список переменных среды Windows можно узнать, набрав в командной строке: set или нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» («Мой компьютер»→«Свойства»).
| Имя | Назначение | Пример значения |
|---|---|---|
| %ALLUSERSPROFILE% | Указывает путь до папки общих документов и настроек, общих для всех пользователей. | C:\Documents And Settings\All Users |
| %APPDATA% | Указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя. | C:\Documents And Settings\Администратор\Application Data |
| %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 |
Полезное
Смотреть что такое «Переменные среды» в других словарях:
переменные среды — 2.16 переменные среды (environmental variables): Аспекты политики, необходимые для принятия решения об авторизации, которые не отражены в статических структурах, но доступны контролеру полномочий посредством локальных средств (например, время… … Словарь-справочник терминов нормативно-технической документации
Переменные среды Windows — Переменные окружения (переменные среды, англ. environment variable) используются для настройки многих операционных систем. Список переменных В современных ОС компании Microsoft, построенных на платформе NT, для получения информации о системе … Википедия
Переменные среды cmd.exe — Переменные окружения (переменные среды, англ. environment variable) используются для настройки многих операционных систем. Список переменных В современных ОС компании NT для получения информации о системе используются следующие переменные:… … Википедия
Переменные в исследованиях (variables in research) — Керлингер определяет П. как «символ, которому приписываются цифры или числовые значения». Это родовое определение, относящееся, в том числе, и к психол. П. в исслед., указывает на мат. основу. Иначе говоря, любая П., х или у, подразумевает… … Психологическая энциклопедия
Переменные лагранжа и эйлера — [Lagrangian and Eulerian coordinates] пространственно временные координаты, используемые при изучении процессов деформации сплошных сред, состоящих из материальных частиц (точек) и заполненных ими областей (тел). Для описания среды в координатах… … Энциклопедический словарь по металлургии
Переменная среды — (англ. environment variable) текстовая переменная операционной системы, хранящая какую либо информацию например, данные о настройках системы. Содержание 1 Переменные среды UNIX 2 Переменные среды Windows … Википедия
Переменная среды Windows — Переменная окружения (переменная среды, англ. environment variable) в Windows используются для хранения текстовых строк пользователя и информации о настройках операционных систем. Список переменных В современных ОС компании Microsoft на… … Википедия
Переменная окружения — Переменные среды текстовые переменные операционной системы, хранящие данные о ряде настроек системы. Содержание 1 Переменные среды в UNIX 2 Переменные среды в Windows 2.1 Классификация … Википедия
PHP — У этого термина существуют и другие значения, см. PHP (значения). PHP Семантика: мультипарадигменный … Википедия
ПХП — PHP Семантика: мультипарадигменный Тип исполнения: Интерпретатор компилирующего типа Появился в: 1995 г. Автор(ы): Расмус Лердорф Последняя версия: 4 … Википедия
Переменные среды
Содержание:

Переменные среды в основном создаются сценариями оболочки операционной системы или самим пользователем. В Windows переменные окружения хранятся в реестре, а управляются через специальную оснастку в разделе «Свойства системы». Как и любая классическая переменная, переменная среды состоит из короткого названия, по которому к ней производится доступ, и значения, которое используется в различных операциях.
Большинство переменных окружения Windows хранят в себе адреса различных системных папок, к которым можно получить быстрый доступ из командной строки, сценария, штатного Проводника или любого продвинутого файлового менеджера. Зная хотя бы часть системных переменных и создавая собственные, Вы можете значительно автоматизировать работу с файлами на Вашем ПК. И наша статья расскажет как именно.
Что такое переменные окружения Windows
Хотите быстро открывать любые нужные Вам папки, запускать Командную строку из любой директории или создавать автоматические сценарии для перемещения файлов? Тогда Вам просто необходимо знать, что такое переменные среды!
Сегодняшняя статья, думаю, будет интересна, в первую очередь, продвинутым пользователям Windows. Хотя, в принципе, знать о предмете разговора не помешает никому. Речь идёт о такой сущности операционной системы как переменные средЫ (ударение на последнем слоге).
Исполняемой средой в Windows является оболочка Командной строки (CMD.EXE). Соответственно переменные эти будут работать в первую очередь в консоли. Однако, поскольку Командная строка поддерживается на уровне системы всеми штатными средствами Windows, переменные окружения будут также отлично работать, например, в Проводнике, в Планировщике заданий или в любых BAT-файлах. Это даёт широкий простор для их применения в сфере автоматизации рутинных процессов при работе с файлами.
Общие данные о переменных окружения
Переменные среды чаще всего разделяют на системные и локальные. Системные могут, в свою очередь, быть встроенными в Windows изначально (имеют наивысший приоритет) или добавлены различными установленными программами. Такие переменные доступны из любой учётной записи и хранятся в разделе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment.
Локальные переменные среды тоже могут создаваться программно, однако, часто их создают сами пользователи вручную. Такие переменные доступны только в рамках активной в данный момент учётной записи пользователя, а в реестре хранятся в ветках HKEY_CURRENT_USER\Environment и HKEY_CURRENT_USER\Volatile Environment.
Физически переменная окружения являет собой строковый или мультистроковый параметр реестра. Имя его одновременно является именем переменной, а значение, соответственно, её содержимым. В качестве содержимого может выступать любая текстовая информация, команды, пути к папкам или даже ссылки на другие переменные. В последнем случае имя переменной, на которую ссылаются, обрамляется с двух сторон символами «%»:
Кстати, вышеупомянутый способ обрамления имени переменной среды знаками процента используется для вызова её значения в окружении Windows. Например, если в Командной строке Вы хотите вывести текущую дату, Вы можете воспользоваться командой ECHO и переменной DATE в формате: «echo %date%» (без кавычек). Значения переменных можно произвольно комбинировать с любым текстом или значениями других переменных, при условии, что Вы их имена тоже заключите в конструкцию «%. %»:
Думаю, общее представление о том, что такое переменные среды у Вас уже есть, поэтому давайте углубимся в их изучение и рассмотрим более подробно.
Переменные среды Windows
Смотреть существующие переменные среды, как мы уже выяснили, можно в реестре. Однако, это не совсем удобно, поскольку они раскиданы по нескольким веткам. Гораздо проще ознакомиться с полным списком доступных переменных окружения через Командную строку. Для этого вызовите её (WIN+R – cmd – Enter) и введите команду SET без каких-либо дополнительных параметров:
Стоит сказать, что список здесь немного неполный, поскольку не содержит ряда встроенных системных переменных, вроде DATE, TIME, RANDOM и т.п. Начнём, пожалуй, с них.
Системные переменные среды
Локальные переменные среды
Если системные переменные окружения доступны всегда по всей системе, то локальные работают только в рамках конкретной учётной записи пользователя. Их количество может быть значительным, а состав отличаться даже для разных пользователей одного и того же ПК. Однако, есть ряд переменных, которые обычно присутствуют везде.
Создание и правка переменных среды
Как видим, переменных окружения уже изначально существует довольно много. Однако, это не значит, что Вы будете их использовать все и должны помнить наизусть. Более того, на практике Вам может недоставать каких-нибудь значений и Вы, возможно, захотите создать собственные переменные окружения. Благо, что в Windows для этого есть, как минимум, три штатных способа!
Создание переменных среды в Редакторе реестра
Как мы уже говорили, переменные среды хранятся в реестре Windows. Соответственно, там же мы их можем создавать и править. Это не самый правильный способ, но, тем не менее, такая возможность есть.
Чтобы создать, к примеру, локальную переменную окружения откройте Редактор реестра (WIN+R – regedit – Enter) и в ветке HKEY_CURRENT_USER\Environment создайте новый параметр расширяемого строкового, строкового или мультистрокового типа с нужным именем и значением. К примеру, создадим переменную MYNAME со значением «Руслан»:
Чтобы переменная стала доступна в системе нужно либо перезагрузить Windows, либо только сам Проводник. Последнее можно довольно просто сделать при помощи Диспетчера задач (CTRL+SHIFT+ESC). Достаточно только найти процесс «Проводник» (или explorer.exe) и перезапустить его (либо, в более ранних версиях Windows, снять задачу и создать её заново):
После перезапуска оболочки Windows добавленная переменная будет доступна во всех системных компонентах. Проверить же доступность можно, как всегда, в Командной строке через команду ECHO (echo %myname%).
Создание переменных среды в Командной строке
Если Вы уже привыкли к работе в консоли Windows, то создавать переменные среды Вы сможете и прямо в ней. Для создания и правки переменных в Командной строке используется уже знакомая нам команда SET. Только, если для вывода списка переменных мы использовали её без каких-либо параметров, то теперь нам потребуется дополнить команду именем переменной и её значением. Например, создать переменную MYSURNAME со значением «Тертышный» можно так: SET MYSURNAME=Тертышный:
Проверить доступность переменной можно не только уже знакомой командой ECHO но и при помощи всё той же SET с указанием имени переменной: SET MYSURNAME. Если же Вы к предыдущей команде припишите знак «=», то получившаяся функция удалит переменную окружения с указанным именем, например: SET MYSURNAME= (удалит переменную MYSURNAME).
При создании переменной окружения прямо в реестре она там отображалась, но для доступа к ней требовался перезапуск среды. При создании же в консоли перезапуск не нужен. Новая переменная становится доступной сразу после объявления. Правда, она нигде не сохраняется на постоянной основе и использовать её можно только в текущем сеансе Командной строки.
Чтобы сохранить такую переменную в реестр Вам потребуется выполнить манипуляции с командой REG. Например, для сохранения переменной в виде локальной команда будет следующей: REG ADD HKCU\Environment /v MYSURNAME /t REG_EXPAND_SZ /d Тертышный или REG ADD HKCU\Environment /v MYSURNAME /t REG_EXPAND_SZ /d %MYSURNAME%:
Создание переменных среды через Свойства системы
Наиболее безопасным и удобным для простого пользователя, на мой взгляд, является работа с переменными среды через одноимённую оснастку. Чтобы получить к ней доступ вызовите «Свойства системы» (контекстное меню значка «Компьютер» – «Свойства»), перейдите на вкладку «Дополнительно» и нажмите кнопку «Переменные среды» в самом низу:
В открывшемся окне можно управлять некоторыми уже существующими системными и локальными переменными окружения, а также создавать новые. В принципе, здесь ничего сложного нет – всё весьма наглядно. Для создания новой переменной достаточно заполнить всего два поля с её именем и значением. Как и в случае с добавлением переменной через реестр, здесь также требуется перезапуск среды для полноценной работы.
Примеры использования переменных среды
Наконец-то мы разобрались (надеюсь :)) с принципами создания и изменения переменных среды и сейчас рассмотрим несколько практических примеров их применения. Скажу сразу, что применений Вы можете придумать сами большое множество. А, если Вы понимаете синтаксис BAT-файлов, то возможности перед Вами откроются весьма обширные.
Одной из самых полезных системных переменных окружения, на мой взгляд, является %COMSPEC%. Если взглянуть на её значение, то мы увидим, что она запускает Командную строку. Однако, если Вы введёте данную переменную в адресной строке открытой в данный момент папки, то консоль автоматически откроется из этой директории. Такой «фокус» очень удобен, если Вы работаете с консольными приложениями и не хотите каждый раз вводить вручную адрес папки с исполняемыми файлами:
Часто при работе с консолью требуется получить путь или имя рабочей папки. Чтобы не вводить его, опять же, вручную, намного удобнее воспользоваться системной переменной среды %CD%. Данная переменная, как мы знаем, хранит путь активной в данный момент директории.
Переменные, хранящие в своём значении пути, довольно удобно использовать для быстрого перехода к нужным папкам в том же Проводнике. Например, чтобы открыть директорию временных файлов пользователя достаточно ввести в адресную строку %TMP%, а для доступа к папке Windows – %WINDIR% и нажать Enter. Здесь можете создать и свои переменные, например, %DWNLD% для открытия папки загрузок, %DSK% для Рабочего стола и т.п.
Рассмотрим популярную практическую задачу, использующую вышеупомянутый тип переменных – очистка каталога с временными файлами. Как мы знаем, часто различные программы не «убирают» за собой «мусор». В результате этого директория временных файлов медленно но верно увеличивается в объёме. Если Вам хочется автоматизировать её очистку, создайте BAT-файл следующего содержания:
Первая команда удалит каталог временных файлов со всеми подпапками, не спрашивая Вашего подтверждения. Вторая же заново создаст его. Стоит, однако, заметить, что, если Вы запустите такой «батник» во время работы системы, то папка TEMP полностью может и не удалиться, поскольку в ней могут находится ресурсы, используемые активными программами. В принципе, это не смертельно, но консоль выдаст ошибки.
Если же хотите чтобы всё прошло безупречно, лучше запускать очистку при старте Windows, закинув BAT-файл в папку «Автозагрузка» (путь обычно: %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup). Таким образом очистка будет происходить автоматом при каждом запуске системы и не будет стопориться активными процессами, поскольку они ещё не запущены.
В ряде случаев полезной бывает и переменная %RANDOM%. По умолчанию она генерирует случайное число от 0 до 32767. Однако, диапазон можно ограничить приписав после переменной конструкцию » %% число», где «число» – максимальная нужная величина диапазона. Например, получить число от 0 до 10 можно так: «ECHO %RANDOM% %% 11» (в диапазоне всего 11 чисел, включая 0). Немного «заморочившись» можно даже написать простенькую игру «Угадай число» в виде следующего BAT-файла:
SET /a GUESS=%RANDOM% %% 101
SET /p «try=Ваше число: «
if %try% LSS %GUESS% (echo Загаданное число больше.& goto begin)
if %try% GTR %GUESS% (echo Загаданное число меньше.& goto begin)
if %try%==%GUESS% echo Вы угадали!& pause
Вышеприведённый код реализует игру на угадывание числа от 0 до 100, которое получается как раз из системной переменной окружения %RANDOM%. Для нормального отображения кириллицы набор команд нужно сохранить в виде BAT-файла с кодировкой OEM 866 или DOS (в разных Блокнотах она обозначена по-разному). Быстро запустить его на выполнение можно из любой папки при помощи вышеупомянутого способа с использованием переменной %COMSPEC% и ввода имени BAT-файла:
Выводы
Несмотря не то, что переменные среды в большинстве случаев используют лишь системные администраторы и программисты, они могут здорово пригодиться и простым пользователям! Зная всего несколько из них и умея создавать собственные, Вы без особых проблем сможете, как минимум, получать быстрый доступ к любым нужным папкам.
Если же Ваш интерес будет большим, нежели просто попробовать, что это такое, то Вы можете пойти дальше и писать уже собственные пакетные файлы, автоматизирующие процессы удаления, перемещения и создания файлов с нужными Вам данными. И, пускай Командная строка не так функциональна как, скажем, консоль Linux bash, в умелых руках она может творить буквально чудеса! Не верите? Попробуйте сами!
QA evolution
Переменные среды
Переменные окружения ( «Переменные среды», «environment variables» ) — текстовые переменные, наследуемые дочерниними процессами от родительского. Это означает, что переменные заданные для всей операционной системы будут доступны во всех запущенных приложениях; для пользователя – всех приложениям, запущенным этим пользователем; для какого-нибудь другой программы – только в запущенных через нее.
Переменные среды задаются в реестре Window s и программным обеспечением. Они могут использоваться в командной строке и в адресной строке проводника.
Имя переменной регистро-независимо (%VAR% и %Var% – одна и та же переменная).

Переменные среды Windows
Переменные среды Windows делятся на две категории:
Работа с переменными
Чтобы получить доступ к значению переменной, необходимо поставить знак % перед её названием и после него, например: 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 или нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» («Мой компьютер»→»Свойства»).














