
Переменная среды (окружения) в Виндовс хранит информацию о настройках ОС и пользовательских данных. Обозначается она с помощью парного символа «%», например:
С помощью этих переменных можно передавать необходимую информацию операционной системе. Например, %PATH% хранит список директорий, в которых Виндовс ищет исполняемые файлы, если путь к ним не задан явно. %TEMP% хранит временные файлы, а %APPDATA% — настройки программ пользователя.
Зачем редактировать переменные
Изменение переменных среды может помочь, если вы хотите перенести папку «Temp» или «AppData» в другое место. Редактирование %PATH% даст возможность запускать программы из «Командной строки», не указывая каждый раз длинный путь к файлу. Давайте рассмотрим методы, которые помогут в достижении этих целей.
Способ 1: Свойства «Компьютера»
В качестве примера программы, которую необходимо запустить, используем Skype. Попытавшись активировать это приложение из «Командной строки», вы получите такую ошибку:

Это происходит потому, что вы не задали полный путь к исполняемому файлу. В нашем случае полный путь выглядит вот так:
"C:Program Files (x86)SkypePhoneSkype.exe"

Чтобы это не повторять каждый раз, давайте добавим директорию Скайпа в переменную %PATH%.
- В меню «Пуск» нажмите правой кнопкой мыши на «Компьютер» и выберите «Свойства».

Затем перейдите на «Дополнительные параметры системы».

На вкладке «Дополнительно» нажмите на «Переменные среды».

Откроется окно с различными переменными. Выберите «Path» и нажмите «Изменить».

Теперь необходимо дописать путь к нашей директории.
Путь нужно указывать не к самому файлу, а к папке, в которой он находится. Обратите внимание, что разделителем между директориями является «;».
C:Program Files (x86)SkypePhone

Если есть необходимость, таким же образом вносим изменения в другие переменные и жмем «ОК».

Завершаем сеанс пользователя, чтобы изменения сохранились в системе. Снова заходим в «Командную строку» и пытаемся запустить Скайп, введя
Готово! Теперь вы можете запускать любую программу, а не только Skype, находясь в любой директории в «Командной строке».
Способ 2: «Командная строка»
Рассмотрим случай, когда мы хотим установить %APPDATA% на диск «D». Эта переменная отсутствует в «Переменных среды», поэтому ее невозможно изменить первым способом.
- Чтобы узнать текущее значение переменной, в «Командной строке» введите:

В нашем случае эта папка находится по адресу:
Для того чтобы изменить ее значение, введите:
Внимание! Убедитесь, что точно знаете зачем вы это делаете, поскольку необдуманные действия могут привести к неработоспособности Виндовс.

Значение успешно изменено.
Изменение значений переменных среды требует определенных знаний в этой сфере. Не играйтесь со значениями и не редактируйте их наугад, чтобы не навредить ОС. Хорошо изучите теоретический материал, и только после этого переходите к практике.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Переменная среды́ (англ. environment variable ) — текстовая переменная операционной системы, хранящая какую-либо информацию — например, данные о настройках системы.
Содержание
Переменные среды́ UNIX [ править | править код ]
Переменные среды́ устанавливаются пользователем или сценариями оболочки. Начальный набор переменных задаётся стартовыми сценариями операционной системы и сценариями, запускаемыми при регистрации пользователя в системе, в частности, /etc/profile и
Среда имеет большое значение в UNIX-системах, так как хранит множество настроек как системы в целом, так и отдельных программ. Важной особенностью является то, что при создании дочерний процесс получает локальную копию среды́ родительского процесса, а, значит, не может изменить напрямую глобальные установки.
Среда представляет собой набор пар «имя переменной» и «значение переменной», реализация управления которыми возложена обычно на командный интерпретатор. Так как существует достаточно большое количество интерпретаторов, синтаксис отличается в зависимости от используемого пользователем. Как «имя», так и «значение» чувствительны к регистру символов, «Имя» обычно указывается в верхнем регистре, использование пробелов недопустимо.
В сценариях обычно используются объявления вида ИМЯ_ПЕРЕМЕННОЙ="значение переменной" , но конкретный синтаксис зависит от используемого интерпретатора.
Для получения значения переменной необходимо перед её именем поставить символ доллара. Также иногда требуется заключить имя в скобки (например, в сценариях утилиты make).
Из командной строки управление переменными осуществляется с помощью export и env.
Переменные среды́ Windows [ править | править код ]
Переменные среды́ задаются в реестре Windows и программным обеспечением. Они могут использоваться в командной строке и в адресной строке проводника.
Классификация [ править | править код ]
Переменные среды́ Windows делятся на две категории:
- Переменные среды́ пользователя — указывают путь до пользовательских каталогов.
- Системные переменные — хранят данные о некоторых каталогах операционной системы и конфигурации компьютера.
Синтаксис [ править | править код ]
Обращение к некоторой переменной среды́ возможно таким образом: %ИМЯ_ПЕРЕМЕННОЙ% . Также возможно выделение из переменной её части (если на компьютере не отключены расширения командного процессора, по умолчанию они включены), например, печать различных частей переменной VAR с использованием командной строки Windows:
- Вывод содержимого переменной — echo %VAR% .
- Вывод первых четырёх символов — echo %VAR:
0,4% .
Вывод символов с третьего по шестой — echo %VAR:
2,4%
Вывод последних четырёх символов — echo %VAR:
Некоторые переменные среды́ [ править | править код ]
Список переменных среды́ Windows можно узнать, набрав в командной строке: set или нажав кнопку «Переменные среды» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» («Мой компьютер»→"Свойства").
| Имя | Назначение | Пример значения |
|---|---|---|
| %ALLUSERSPROFILE% | Указывает путь до папки общих документов и настроек, общих для всех пользователей. | C:Documents And SettingsAll Users |
| %APPDATA% | Указывает путь до папки, в которой хранятся настройки некоторых программ текущего пользователя. | C:Documents And SettingsАдминистраторApplication Data |
| %CLIENTNAME% | Переменная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа. | MyPC |
| %COMMONPROGRAMFILES% | Указывает путь до папки, в которой хранятся общие для установленных программ файлы. | C:Program FilesCommon Files |
| %COMPUTERNAME% | Хранит имя компьютера в локальной сети. | Начальник |
| %COMSPEC% | Хранит путь до текущего командного интерпретатора Windows. | C:WindowsSystem32cmd.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 |
Список переменных [ править | править код ]
В современных ОС компании Microsoft на платформе NT для получения информации о системе используются следующие переменные [1] (Полужирным выделен текст, относящийся только к Windows Vista/7):
| Название | Тип | Описание |
|---|---|---|
| ALLUSERSPROFILE | локальная | Возвращает размещение профиля «All Users». В Windows 7 возвращает путь к папке C:ProgramData. |
| APPDATA | системная | Возвращает используемое по умолчанию размещение данных приложений. В Windows XP это C:Documents and Settings\%UserName%Application Data. В Windows 7 — C:Users\%UserName%AppDataRoaming. |
| CD | локальная | Указывает путь к текущему каталогу. Идентична команде CD без аргументов. |
| CLIENTNAME | локальная динамическая | Переменная определена только в среде удаленного подключения к рабочему столу. Хранит имя компьютера (%COMPUTERNAME%) клиента удаленного доступа. |
| CMDCMDLINE | локальная | Точная команда, использованная для запуска текущего cmd.exe. |
| CMDEXTVERSION | системная | Версия текущего Command Processor Extensions. |
| COMMONPROGRAMFILES | системная | Расположение каталога "Common Files" (обычно %ProgramFiles%Common Files). |
| COMMONPROGRAMFILES(x86) | системная | Расположение каталога "Common Files" в Program Files (x86) для 64-разрядной ОС (обычно %ProgramFiles(x86)%Common Files). |
| COMPUTERNAME | системная | Имя компьютера |
| COMSPEC | системная | Путь к исполняемому файлу командного процессора (shell). |
| DATE | системная | Возвращает текущую дату. Использует тот же формат, что и команда date /t. Создаётся командой Cmd.exe. |
| ERRORLEVEL | системная | Возвращает код ошибки последней использовавшейся команды. Значение, не равное нулю, обычно указывает на наличие ошибки. |
| HOMEDRIVE | системная | Возвращает имя диска локальной рабочей станции, связанного с основным каталогом пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
| HOMEPATH | системная | Возвращает полный путь к основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
| HOMESHARE | системная | Возвращает сетевой путь к общему основному каталогу пользователя. Задаётся на основании расположения основного каталога. Основной каталог пользователя указывается в оснастке «Локальные пользователи и группы». |
| LOCALAPPDATA | системная | Возвращает используемое по умолчанию локальное размещение данных приложений (C:Users\%UserName%AppDataLocal). |
| LOGONSERVER | локальная | Имя контроллера домена, использовавшегося для авторизации текущего пользователя. |
| NUMBER_OF_PROCESSORS | системная | Количество процессоров в системе (фактически, количество ядер). |
| OS | системная | Название операционной системы. Windows XP и Windows 2000 отображаются как Windows_NT. |
| PATH | системная | Указывает путь поиска исполняемых файлов. |
| PATHEXT | системная | Возвращает список расширений файлов, которые рассматриваются операционной системой как исполняемые. |
| PROCESSOR_ARCHITECTURE | системная | Архитектура процессора. Возможные варианты: x86, IA64, AMD64. |
| PROCESSOR_IDENTIFIER | системная | Описание процессора (в Интернете часто встречается ошибочное написание PROCESSOR_IDENTFIER — пропущена буква). |
| PROCESSOR_LEVEL | системная | Номер модели процессора. |
| PROCESSOR_REVISION | системная | Ревизия процессора. |
| PROGRAMDATA | системная | Возвращает путь к каталогу C:ProgramData (аналогично ALLUSERSPROFILE). |
| PROGRAMFILES | системная | Путь к каталогу Program Files. |
| PROGRAMFILES(x86) | системная | Путь к каталогу Program Files (x86) в 64-разрядных системах для приложений архитектуры x86. |
| PROMPT | локальная | Возвращает параметры командной строки для текущего интерпретатора. Создаётся командой Cmd.exe. |
| PUBLIC | системная | В Windows 7 возвращает путь к каталогу C:UsersPublic. |
| RANDOM | системная | Случайное десятичное число от 0 до 32767. Генерируется Cmd.exe. |
| SAFEBOOT_OPTION | системная | Существует только в Безопасном режиме. Принимает значение типа безопасного режима в котором работает система. В Безопасном режиме и Безопасном режиме с поддержкой командной строки принимает значение MINIMAL. В Безопасном режиме с поддержкой сетевых драйверов принимает значение Network. |
| SESSIONNAME | локальная | Хранит имя активного пользовательского сеанса. При локальном входе имеет значение "Console", при удаленном доступе имеет вид RDP-Tcp# |
| SYSTEMDRIVE | системная | Диск, на котором расположен корневой каталог Windows. |
| SYSTEMROOT | системная | Путь к корневому каталогу Windows. |
| TEMP и TMP | системная и локальная | Возвращает временные каталоги, по умолчанию используемые приложениями, которые доступны пользователям, выполнившим вход в систему. Некоторые приложения требуют переменную TEMP, другие — переменную TMP. Потенциально TEMP и TMP могут указывать на разные каталоги, но обычно совпадают. |
| TIME | системная | Возвращает текущее время. Использует тот же формат, что и команда time /t. Создаётся командой Cmd.exe. Дополнительные сведения о команде time см. в разделе Time. |
| USERDOMAIN | локальная | Имя домена, которому принадлежит текущий пользователь. |
| USERNAME | локальная | Имя текущего пользователя. |
| USERPROFILE | локальная | Путь к профилю текущего пользователя. |
| WINDIR | системная | Каталог, в котором установлена Windows. |
Работа с переменными [ править | править код ]
Чтобы получить доступ к значению переменной, необходимо поставить знак % перед её названием и после него, например:
Чтобы установить значение переменной:
Кроме того, с переменными среды́ можно работать, нажав кнопку «Переменные среды́» на вкладке «Дополнительно» в диалоговом окне «Свойства системы» (контекстное меню значка «Мой компьютер» → пункт «Свойства»).
Также необходимо помнить, что, в отличие от UNIX-систем, в DOS и в стандартной командной строке Windows переменные среды́ не наследуются запускаемыми процессами, а используются совместно. Это позволяет, например, возвращать через них результаты работы программ, но, с другой стороны, создаёт возможность порчи или переполнения. Особенно актуально переполнение для переменной PATH, поскольку она часто дополняется при работе различных скриптов. При возникновении такого переполнения достаточно просто перезапустить интерпретатор командной строки. Интерпретаторы, портированные из UNIX-систем (например, Z-shell), такой проблеме не подвержены.
Получить значение переменной в программном коде можно с помощью метода ExpandEnvironmentStrings COM-объекта WScript.Shell:
Следует учитывать, что набор значений переменных среды́ получается процессом во время его запуска, все запускаемые им подчиненные процессы получают значения переменных из этого набора, если второй процесс (независимый от первого) изменяет значение переменной среды́ или создает новую переменную, эти изменения не будут доступны первому процессу.
Значения переменных среды́ LOGONSERVER, CLIENTNAME, SESSIONNAME, APPDATA, HOMEDRIVE, HOMEPATH устанавливаются при открытии сеанса на основании значений в ветке реестра [HKEY_CURRENT_USERVolatile Environment].
Значения глобальных переменных среды́ типа PATH, TEMP и пр. хранятся в ветке реестра [HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession ManagerEnvironment].
Трудности перевода [ править | править код ]
Очень часто встречается неправильное понимание слова «среды́» в словосочетании «Переменные среды́». Непонимание возникает из-за прочтения слова «среды» с неправильным ударением на первый слог, что приводит к распознаванию этого слова как формы именительного падежа множественного числа слова «среда» (окружение). Правильным является понимание слова «среды́» как формы родительного падежа единственного числа слова «среда» и произношение с ударением на второй слог.
Таким образом, неправильно говорить, например, «с переменными сре́дами» («с переменными окружениями»), а правильно — «с переменными среды́» («с переменными окружения»).

Как задать или настроить системную переменную PATH?
Инструкции на данной странице предназначены только для опытных пользователей и системных администраторов.
Общие сведения
- Переменная PATH — это системная переменная, которую операционная система использует для того, чтобы найти нужные исполняемые объекты в командной строке или окне терминала.
- Системную переменную PATH можно задать с помощью системной утилиты в панели управления Windows или с помощью файла запуска командной оболочки Linux и Solaris.
- На компьютерах под управлением Windows или Mac OS X внесение изменений в системную переменную PATH обычно не требуется.
Windows
Windows 10 и Windows 8
- В строке "Поиск" выполните поиск: Система (Панель управления)
- Нажмите на ссылку Дополнительные параметры системы.
- Нажмите Переменные среды. В разделе Переменные среды выберите переменную среды PATH . Нажмите Изменить. Если переменной PATH не существует, нажмите Создать .
- В окне Изменение системной переменной (или Новая системная переменная) укажите значение переменной среды PATH . Нажмите ОК. Закройте остальные открытые окна, нажимая ОК.
- Откройте заново окно командной строки и выполните код java.
Windows 7
- На рабочем столе правой кнопкой нажмите на значок Компьютер.
- В контекстном меню выберите Свойства.
- Нажмите на ссылку Дополнительные параметры системы.
- Нажмите Переменные среды. В разделе Переменные среды выберите переменную среды PATH . Нажмите Изменить. Если переменной PATH не существует, нажмите Создать .
- В окне Изменение системной переменной (или Новая системная переменная) укажите значение переменной среды PATH . Нажмите ОК. Закройте остальные открытые окна, нажимая ОК.
- Откройте заново окно командной строки и выполните код java.
Windows XP
- Нажмите Пуск, выберите Панель управления, дважды нажмите на Система и выберите вкладку Дополнительно.
- Нажмите Переменные среды. В разделе Переменные среды выберите переменную среды PATH . Нажмите Изменить. Если переменной PATH не существует, нажмите Создать .
- В окне Изменение системной переменной (или Новая системная переменная) укажите значение переменной среды PATH . Нажмите ОК. Закройте остальные открытые окна, нажимая ОК.
- Откройте заново окно командной строки и выполните код java.
Mac OS X
Чтобы запустить другую версию Java, укажите полный путь или используйте инструмент java_home :
Solaris и Linux
- Чтобы узнать, правильно ли настроен путь:
В окнах терминала введите:
% java -version
Будет выведена версия средства java , если не удается ее найти. Если версия устарела или появляется ошибка java: команда не найдена, то путь задан неправильно. - Определите, какая исполняемая версия java является первой найденной в переменной PATH
В окне терминала введите:
% which java
Окончательная настройка пути
Чтобы задать путь окончательно, настройте его в файле автозагрузки.
Примечание. Приведены инструкции для двух самых популярных оболочек на Linux и Solaris. Если вы используете другие оболочки, см. Учебное пособие по установке переменной PATH.
Оболочка Bash
Отредактируйте файл автозагрузки (
- Измените переменную PATH variable
PATH=/usr/local/jdk1.8.0/bin:$PATH
export PATH - Сохранить изменения и закрыть окно
- Загрузите файл автозагрузки
% . /.profile - Убедитесь, что путь задан, повторив команду java
% java -version
Оболочка C (csh)
Отредактируйте файл автозагрузки (
- Задайте путь
set path=(/usr/local/jdk1.8.0/bin $path) - Сохранить изменения и закрыть окно
- Загрузите файл автозагрузки
% source
/.cshrc
% java -version





