. что такое переменная среды PATH?
Когда операционная система запускает какую-нибудь программу, она стартует новый процесс и каким-то образом передаёт ему информацию о настройках среды, или окружения (в английском языке используется термин environment). Эта информация состоит из набора переменных, содержащих некоторые значения. Процесс может получить эти значения, обратившись к нужной переменной по имени. Например, чтобы узнать, где находится директория, которую операционная система рекомендует использовать для хранения временных файлов, необходимо получить значение переменной среды TEMP .
Как посмотреть значения переменных среды?
В консоли Windows можно посмотреть значение этой переменной, выполнив команду echo %TEMP% , в консоли PowerShell необходимо для этого выполнить команду echo $Env:TEMP , а в консоли Linux или MacOS – команду echo $TEMP .
Если вы пишете программу на языке программирования Python, значение этой переменной можно получить так:
import os temp = os.environ["TEMP"]
В языке Java это можно сделать следующим образом:
String temp = System.getenv().get("TEMP");
В языке C# аналогичное действие выглядит следующим образом:
string temp = System.Environment.GetEnvironmentVariable("TEMP");
На что влияет переменная среды PATH ?
При помощи переменных среды можно передавать информацию не только запускаемым процессам, но и самой операционной системе. Она тоже читает и использует значения переменных среды, поэтому можно управлять некоторыми аспектами поведения операционной системы, изменяя эти переменные.
Переменная PATH содержит список директорий, в которых операционная система пытается искать исполняемые файлы, если пользователь при запуске не указал явно путь к нужному исполняемому файлу.
Давайте представим себе, что на компьютере с операционной системой Windows установлено две разных версии интерпретатора языка программирования Python. Это можно сделать, если установить их в разные директории, например, C:\Python27 и C:\Python34 . Исполняемый файл для обоих версий называется python.exe .
Для того, чтобы запустить исполняемый файл нужной версии, можно указать полный путь к нему, например, C:\Python34\python.exe :

Но каждый раз указывать полный путь лень, да ещё и помнить его надо.
Альтернатива – добавить в переменную среды PATH путь к директории, где находится этот исполняемый файл, и тогда его можно будет запускать, указывая только имя. А чтобы узнать, где он (по мнению операционной системы) находится, можно использовать команду where в операционной системе Windows либо команду which в операционной системе Linux или MacOS.

Переменная PATH содержит список директорий, в которых операционная система должна искать исполняемые файлы. В качестве разделителя используется точка с запятой (;) в операционной системе Windows и двоеточие (:) в операционных системах Linux и MacOS.
Обратите внимание, что в переменную PATH нужно добавлять не пути к исполняемым файлам, а пути к директориям, где они находятся!
Переменная PATH и программы-утилиты
Не обязательно добавлять в переменную PATH пути ко всем директориям, в которых находятся исполняемые файлы на вашем компьютере. Скорее всего большинство программ вы запускаете “через меню старт”. На этот способ запуска переменная PATH никакого влияния не оказывает. Её важно настроить так, чтобы можно было быстро и удобно запускать программы из консоли.
Например, в эту переменную обычно включается путь к “стандартным” местам, где расположены различные программы-утилиты. В операционной системе Windows это директория C:\Windows\system32 , в операционных системах Linux и MacOS директория /usr/bin .
Именно благодаря этому мы можем, например, в консоли Windows использовать утилиту find для поиска файлов или утилиту telnet для установления удалённого соединения по одноимённому протоколу, просто указывая их имя, а не полный путь c:\Windows\system32\telnet.exe .
Когда у вас появляется новая программа-утилита, возникает вопрос – куда её поместить? С одной стороны, её можно положить в C:\Windows\system32 или /usr/bin . Но если вы не любите “засорять” стандартные директории, тогда сделайте какую-нибудь специальную директорию, складывайте все такие программы в неё, и добавьте путь к этой директории в переменную среды PATH .
Как изменять значения переменных среды?
Пользователям других операционных систем предлагаю погуглить 🙂
Переменную поменял, но эффекта нет. Почему?
Когда вы меняете значение некоторой переменной среды, об этом узнаёт только операционная система. При запуске новых программ она сообщит им новые значения переменных. Но ранее запущенные программы будут продолжать использовать те значения переменных среды, которые были актуальны на момент запуска программы.
Поэтому после изменения переменных среды придётся перезапустить те программы, которым необходимо сообщить новые значения переменных.

August 23
2016
Автор: Алексей Баранцев
Если вам понравилась эта статья, вы можете поделиться ею в социальных сетях (кнопочки ниже), а потом вернуться на главную страницу блога и почитать другие мои статьи.
Ну а если вы не согласны с чем-то или хотите что-нибудь дополнить – оставьте комментарий ниже, может быть это послужит поводом для написания новой интересной статьи.
Windows: как добавить что-либо в PATH
Работа с фронтендом сейчас немыслима без использования консоли (командной строки): набираем какую-либо команду с аргументами — получаем результат. Ну и для некоторых операций консоль дает выигрыш по скорости в сравнении с GUI (сравните создание файловой структуры из GUI с командой mkdir -p project/ ).
Зачем это всё
Хочется набирать в консоли subl . для открытия текущей директории как папки проекта или subl filename.html для открытия файла в ST3. При этом не хочется блокировать возможность работы с консолью, как в случае с алиасом.
Как добавить директорию в PATH
PATH — это системная переменная, содержащая список директорий, в которых ОС будет искать исполняемый файл при вызове команды из консоли.
В Windows 10 можно добраться до настройки PATH так: Этот компьютер → Свойства → Дополнительные параметры системы → Дополнительно → Переменные среды. Или вызовом «Изменение переменных среды текущего пользователя» в результатах поиска.
В окошке «Переменные среды» в блоке «Переменные среды пользователя %USERNAME%» находим строку PATH , выделяем кликом, жмем кнопку «Изменить…» и в появившемся окошке нажимаем «СОздать» для добавления ещё одного элемента. В самом элементе нужно вписать путь к папке Sublime Text (путь к файлу subl.exe , который должен лежать в папке программы). В моем случае получилось так:
c:\Program Files\Sublime Text 3\
После перезапуска консоли можно наслаждаться командой subl .
Понравилась статья? Ставьте лайк, делитесь в соц. сетях или купите мне кофе.
© Николай Громов. Внутренняя Монголия, вечность, лето.
path
Задает путь команды в переменной среды PATH, указывая набор каталогов, используемых для поиска исполняемых файлов (.exe). При использовании без параметров эта команда отображает текущий путь к команде.
Синтаксис
path [[:][;. ][;%PATH%]] path ;
Параметры
| Параметр | Описание |
|---|---|
| [:] | Указывает диск и каталог, заданные в пути к команде. Текущий каталог всегда выполняется поиск перед каталогами, указанными в пути к команде. |
| ; | Отделяет каталоги в пути команды. При использовании без других параметров ; очищает существующие пути команд из переменной среды PATH и направляет Cmd.exe для поиска только в текущем каталоге. |
| %PATH% | Добавляет путь команды к существующему набору каталогов, перечисленных в переменной среды PATH. Если этот параметр включен, Cmd.exe заменяет его значениями пути команд, найденными в переменной среды PATH, устраняя необходимость вручную вводить эти значения в командной строке. |
| /? | Отображение справки в командной строке. |
Замечания
- Операционная система Windows выполняет поиск с использованием расширений имен файлов по умолчанию в следующем порядке приоритета: EXE, .com, .bat и CMD. Это означает, что если вы ищете пакетный файл с именем acct.bat, но у вас есть приложение с именем acct.exe в том же каталоге, необходимо включить расширение BAT в командной строке.
- Если два или более файлов в пути команды имеют одинаковое имя файла и расширение, эта команда сначала ищет указанное имя файла в текущем каталоге. Затем он выполняет поиск каталогов в пути команды в том порядке, в который они перечислены в переменной среды PATH.
- Если команда пути помещается в файл Autoexec.nt, операционная система Windows автоматически добавляет указанный путь поиска подсистемы MS-DOS при каждом входе на компьютер. Cmd.exe не использует файл Autoexec.nt. При запуске из ярлыка Cmd.exe наследует переменные среды, заданные в my Computer/Properties/Advanced/Environment.
Примеры
Для поиска путей c:\user\taxes, b:\user\invest и b:\bin для внешних команд введите:
path c:\user\taxes;b:\user\invest;b:\bin
Дополнительные ссылки
Добавление местоположений программ в переменную среды PATH
Дата последнего изменения: 9 марта 2015 г.
Применимо к: SharePoint Foundation 2010
В этой статье объясняется, как добавить определенные пути, критически важные для развертывания SharePoint Foundation, в переменную среды PATH компьютера разработчика.
Рекомендуемые пути
Рекомендуется добавить в переменную PATH следующие пути:
Средства, находящиеся по добавляемому пути
C:\Program Files\Common Files\Microsoft Shared\web server extensions\14\BIN\
Несколько программ для разработки SharePoint Foundation, в том числе psconfig.exe, spmetal.exe и stsadm.exe.
C:\Program Files (x86) \Microsoft SDKs\Windows\v7.0A\Bin\x64\
Множество общих средств разработки, в том числе gacutil.exe, ildasm.exe, sn.exe, sqlmetal.exe и windiff.exe.
Действия для добавления пути в переменную среды PATH
- В меню Пуск щелкните правой кнопкой мыши пункт Компьютер.
- В контекстном меню выберите Свойства.
- В диалоговом окне Система выберите Дополнительные параметры системы.
- На вкладке Дополнительно диалогового окна Свойства системы нажмите кнопку Переменные среды.
- В поле Системные переменные диалогового окна Переменные среды прокрутите список до переменной Path, а затем выберите ее.
- Нажмите нижнюю из двух кнопок Изменить в этом диалоговом окне.
- В диалоговом окне Изменение системной переменной прокрутите строку в поле Значение переменной до конца и добавьте точку с запятой (;).
- Добавьте новый путь после точки с запятой.
- Нажмите кнопку ОК в трех последовательных диалоговых окнах, а затем закройте диалоговое окно Система.
Если среда Visual Studio открыта во время внесения изменений в системные переменные среды, изменения не будут обнаружены, пока среда не будет закрыта и открыта заново.