Этот раздел касается:
  • Платформы: Solaris SPARC, Red Hat Linux, SUSE Linux, Oracle Linux, Windows 10, Windows 8, Windows 7, Vista, Windows XP, Mac OS X

Инструкции на данной странице предназначены только для опытных пользователей и системных администраторов.


Общие сведения

  • Переменная PATH - это системная переменная, которую операционная система использует для того, чтобы найти нужные исполняемые объекты в командной строке или окне терминала.
  • Системную переменную PATH можно задать с помощью системной утилиты в панели управления Windows или с помощью файла запуска командной оболочки Linux и Solaris.
  • На компьютерах под управлением Windows или Mac OS X внесение изменений в системную переменную PATH обычно не требуется .

Windows

Windows 10 и Windows 8
  1. В строке "Поиск" выполните поиск: Система (Панель управления)
  2. Нажмите на ссылку .
  3. Нажмите Переменные среды . В разделе Переменные среды Изменить
  4. В окне (или Новая системная переменная ОК ОК .
Windows 7
  1. На рабочем столе правой кнопкой нажмите на значок Компьютер .
  2. В контекстном меню выберите Свойства .
  3. Нажмите на ссылку Дополнительные параметры системы .
  4. Нажмите Переменные среды . В разделе Переменные среды выберите переменную среды PATH . Нажмите Изменить . Если переменной PATH не существует, нажмите Создать.
  5. В окне Изменение системной переменной (или Новая системная переменная ) укажите значение переменной среды PATH . Нажмите ОК . Закройте остальные открытые окна, нажимая ОК .
  6. Откройте заново окно командной строки и выполните код java.
Windows XP
  1. Нажмите Пуск , выберите Панель управления , дважды нажмите на Система и выберите вкладку Дополнительно .
  2. Нажмите Переменные среды . В разделе Переменные среды выберите переменную среды PATH . Нажмите Изменить . Если переменной PATH не существует, нажмите Создать.
  3. В окне Изменение системной переменной (или Новая системная переменная ) укажите значение переменной среды PATH . Нажмите ОК . Закройте остальные открытые окна, нажимая ОК .
  4. Откройте заново окно командной строки и выполните код java.

Mac OS X

Чтобы запустить другую версию Java, укажите полный путь или используйте инструмент java_home:

% /usr/libexec/java_home -v 1.8.0_73 --exec javac -version

Solaris и Linux

  1. Чтобы узнать, правильно ли настроен путь:
    В окнах терминала введите:
    % java -version
    Будет выведена версия средства java , если не удается ее найти. Если версия устарела или появляется ошибка java: команда не найдена , то путь задан неправильно.
  2. Определите, какая исполняемая версия java является первой найденной в переменной PATH
    В окне терминала введите:
    % which java
Окончательная настройка пути

Чтобы задать путь окончательно, настройте его в файле автозагрузки.
Примечание. Приведены инструкции для двух самых популярных оболочек на Linux и Solaris. Если вы используете другие оболочки, см. Учебное пособие по установке переменной PATH .

Оболочка Bash

Отредактируйте файл автозагрузки (~/.bashrc)

  1. Измените переменную PATH variable
    PATH=/usr/local/jdk1.8.0/bin:$PATH
    export PATH
  2. Загрузите файл автозагрузки
    % . /.profile

  3. % java -version
Оболочка C (csh)

Отредактируйте файл автозагрузки (~/.cshrc)

  1. Задайте путь
    set path=(/usr/local/jdk1.8.0/bin $path)
  2. Сохранить изменения и закрыть окно
  3. Загрузите файл автозагрузки
    % source ~/.cshrc
  4. Убедитесь, что путь задан, повторив команду java
    % java -version

Переменная среды (окружения) в Виндовс хранит информацию о настройках ОС и пользовательских данных. Обозначается она с помощью парного символа «%» , например:

С помощью этих переменных можно передавать необходимую информацию операционной системе. Например, %PATH% хранит список директорий, в которых Виндовс ищет исполняемые файлы, если путь к ним не задан явно. %TEMP% хранит временные файлы, а %APPDATA% — настройки программ пользователя.

Изменение переменных среды может помочь, если вы хотите перенести папку «Temp» или «AppData» в другое место. Редактирование %PATH% даст возможность запускать программы из «Командной строки» , не указывая каждый раз длинный путь к файлу. Давайте рассмотрим методы, которые помогут в достижении этих целей.

Способ 1: Свойства «Компьютера»

В качестве примера программы, которую необходимо запустить, используем . Попытавшись активировать это приложение из «Командной строки» , вы получите такую ошибку:

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

"C:\Program Files (x86)\Skype\Phone\Skype.exe"

Чтобы это не повторять каждый раз, давайте добавим директорию Скайпа в переменную %PATH% .


Готово! Теперь вы можете запускать любую программу, а не только Skype, находясь в любой директории в «Командной строке» .

Способ 2: «Командная строка»

Рассмотрим случай, когда мы хотим установить %APPDATA% на диск «D» . Эта переменная отсутствует в «Переменных среды» , поэтому ее невозможно изменить первым способом.


Изменение значений переменных среды требует определенных знаний в этой сфере. Не играйтесь со значениями и не редактируйте их наугад, чтобы не навредить ОС. Хорошо изучите теоретический материал, и только после этого переходите к практике.

Добрый день уважаемые читатели и гости блога, сегодня я с вами хочу обсудить вот такую тему, что такое переменные среды Windows, где их можно использовать, как в обычной практике пользователя, так и в практике системного администратора, я вам приведу несколько примеров. Как все это дело настраивается и изменяется под ваши нужны, на мой взгляд это фундаментальные знания, понимание которых вам лучше покажет принцип работы операционных систем семейства Windows.

Что такое переменные среды windows

Давайте разберемся в понятии, и так переменная окружения (environment variable )это специального рода ссылки уменьшенного размера, на определенные объекты операционной системы Windows, используемые разными программами для хранения информации и взаимодействия с ней. Можно провести аналогию с относительными ссылками на сайтах, где нет явного указания на протокол. Чаще всего это пути до конкретных директорий в ОС.

Где используют переменные среды Windows

Приведу несколько примеров:

  • В скриптах > когда нужно например каждому пользователю сделать какую-то настройку, для примера положить на рабочий стол новую папку с документами. Так как для каждого пользователя путь до рабочего стола свой, вида C:\Users\lacky\Desktop, а можно обратиться и по относительному пути за счет переменной %HOMEPATH%, если вы в проводнике введете %HOMEPATH%\Desktop, то попадете на рабочий стол текущего пользователя.

  • в групповой политике, для настройки пользовательских окружений, например перемещаемые профили.
  • Оптимизация кода > если в коде очень часто используются одни и те же пути к файлам или папкам, а так же ключам реестра, вы можете легко назначить короткую переменную для дальнейшего использования. Ниже я вам приведу сводный список по переменным средам windows 10 и предыдущих версий, а так же покажу как их создавать и менять.

Все переменные среды windows 10 и других версий в своем составе имеют специальный оператор %. Он необходим, чтобы операционная система могла обработать поисковый запрос. Простой пример вы ищите папку TEMP и не знаете, где она располагается, вводите %TEMP% и поиск будет на всех локальных дисках и разделах.

Список переменных сред windows 10

Приведенный список, в полной мере подойдет и для Windows 7 и для Windows 8.1, все проверенно лично. Уверен, что данные знания, очень сильно вам помогут оптимизировать свою работу.

  • %ALLUSERSPROFILE% > данная переменная отправит вас в папку C:\ProgramData
  • %windir% > это папка C:\Windows
  • %APPDATA% > вы попадается в скрытую папку C:\Users\Имя_пользователя\AppData\Roaming
  • %CommonProgramFiles% > папка C:\Program Files\Common Files
  • %CommonProgramFiles(x86)% > перекинет вас в C:\Program Files (x86)\Common Files
  • %CommonProgramW6432% > перекинет вас C:\Program Files\Common Files
  • %COMPUTERNAME% > Имя_компьютера, используется скриптах
  • %ComSpec% > откроет командную строку Windows 10 C:\Windows\system32\cmd.exe
  • %HOMEDRIVE% > путь к диску C:
  • %HOMEPATH% > эта переменная среды windows перекинет вас в папку пользователя \Users\Имя_пользователя
  • %LOCALAPPDATA% > эта переменная среды windows перекинет вас в папку C:\Users\Имя_пользователя\AppData\Local
  • %LOGONSERVER% > Имя_компьютера
  • %NUMBER_OF_PROCESSORS% > Количество_процессоров
  • %OS% > Windows_NT, так же используется в скриптах
  • %Path% > C:\Windows\system32;C:\Windows;C:\Windows\System32Wbem;
  • %PATHEXT% .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
  • %PROCESSOR_ARCHITECTURE% > x86 или AMD64, архитектура Windows
  • %PROCESSOR_IDENTIFIER% > Intel64 Family 6 Model 37 Stepping 5, GenuineIntel
  • %PROCESSOR_LEVEL% > 6
  • %PROCESSOR_REVISION% > 2505 (пример)
  • %ProgramData% > папка C:\ProgramData
  • %ProgramFiles% > C:\Program Files
  • %ProgramFiles(x86)% > папка C:\Program Files (x86)
  • %ProgramW6432% > C:\Program Files
  • %PROMPT% > $P$G
  • %PSModulePath% > C:\Windows\system32\WindowsPowerShell\v1.0\Modules\ согласитесь очеь быстро
  • %PUBLIC% > C:\Users\Public
  • %SystemDrive% > диск C:
  • %SystemRoot% > C:\Windows
  • %TEMP% >
  • %TMP% > C:\Users\Имя_пользователя\AppData\Local\Temp (по умолчанию)
  • %USERDOMAIN% > Имя_компьютера
  • %USERDOMAIN_ROAMINGPROFILE% > Имя_компьютера
  • %USERNAME% > Имя_пользователя
  • %USERPROFILE% > C:\Users\Имя_пользователя

Как вывести список всех переменных Windows

В Windows 10 и других версиях, можно вывести список всех переменных сред Windows, для этого откройте командную строку от имени администратора и введите команду SET. В результате вы получите все переменные среды windows 10 по умолчанию для конкретной операционной системы.

Для удобства вы можете экспортировать весь этот список в текстовый файл, для этого введите:

set > D:\Variables.txt

Вот содержимое данного документы.

Еще одним методом посмотреть переменные операционной системы, выступает реестр Windows. Нажимаем WIN+R и вводим regedit. В открывшемся окне редактор реестра, перейдите в ветку:

Для просмотра переменных для компьютера

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment

Для просмотра переменных для пользователя

HKEY_CURRENT_USER\Environment

Создаем переменные среды windows 10

ПО мимо уже имеющихся переменных Windows 10, вы можете создать и новые, это очень легко и не запрещается. Что от вас требуется, вам необходимо зайти в свойства системы. Тут несколько методов, если мы говорим про Windows 10, то можно сделать через правый клик по кнопке "Пуск", выбрав пункт система.

Универсальный метод, это зайти в свойства моего компьютера или нажать сочетание клавиш WIN+Pause Breake .

С окне свойства системы, вы должны перейти в пункт "Дополнительные параметры системы"

И перед вами два вида переменных сред Windows:

  • Временные переменные temp
  • Системные переменные

И те и другие можно легко изменить или создать.

Для примера я создам новую системную переменную, назову ее SYSPREP и укажу путь до папки C:\Windows\System32\Sysprep

Как видите тут ничего сложного нет, благодаря вот таким вещам вы можете сильно упростить себе жизнь и экономить много времени.

Попробуйте в окне «Выполнить» (Win + R) ввести wmplayer и нажать Enter — откроется Windows Media Player. Теперь сделайте то же самое в командной строке. Проигрыватель не запустится, потому что не найден путь к нему! Почему так происходит?

Читатель блога Андрей поинтересовался по почте, в каких случаях для запуска исполняемых файлов не требуется вводить полный путь к ним. Вопрос показался мне элементарным, и я кратко предложил читателю обратить внимание на переменную PATH.

Переменная PATH

Переменная среды PATH содержит пути, в которых Windows при выполнении команды автоматически ищет исполняемые файлы (EXE, CMD, VBS и т.д.). Изначально в переменную внесены только основные системные расположения, поэтому программы из папок Windows и System32 можно запускать, не указывая полный путь.

Как посмотреть содержимое переменной PATH

Некоторые программы при установке прописывают туда путь к своей папке, в чем вы наверняка убедитесь, выполнив в консоли команду path , показывающей системные и пользовательские переменные вместе.

Когда исполняемый файл находится в одном из расположений, известных Windows, вводить полный путь к файлу необязательно. Я использую это свойство операционной системы, чтобы быстро запускать любимые , утилиты Nirsoft и другие программы из своего сундучка (на рисунке видно, что в PATH добавлена папка Tools).

Как добавить свои пути к переменной PATH

Вы можете добавить собственные пути, изменив системную переменную PATH, либо создав пользовательскую переменную с таким же именем. Разницу между типами переменных я объяснял в рамках одной из викторин . Там же рассказывается, как изменять переменные среды в графическом интерфейсе . Обратите внимание, что пути разделяются точкой с запятой.

Можно быстро добавить свои пути в PATH из командной строки с помощью утилиты setx , входящей в состав Windows 7. Ниже приводится пример добавления пути C:\myfolder в системную переменную PATH (командная строка должна быть запущена от имени администратора).

For /f "tokens=2*" %a In ("Reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v Path") Do Set "systempath=%b" set newpath=%systempath%;C:\myfolder1 setx /m path "%newpath%"

Сначала с помощью команды reg считывается список путей из системной переменной PATH, хранящейся в реестре. Затем команда set задает переменную newpath с нужным путем в рамках текущей сессии командной строки, а команда setx /m делает новый путь постоянным для системной переменной (параметр /m ).

Пользовательскую переменную можно задать без прав администратора, применив аналогичный подход. Добавление нового пути к имеющейся пользовательской переменной PATH осуществляется так:

For /f "tokens=2*" %a In ("Reg query "HKCU\Environment" /v Path") Do Set "userpath=%b" set newpath=%userpath%;C:\myfolder2 setx path "%newpath%"

Учтите, что код выше рассчитан на выполнение в командной строке. В командном файле (CMD) символы процента в первой строке должны быть двойными.

Строго говоря, здесь можно было обойтись и без setx , поскольку reg может не только считывать данные из реестра, но и записывать их туда. Но во многих случаях с setx проще работать за счет более компактного синтаксиса.

Конечно, я не расписывал все это так подробно для Андрея, а просто задал ему направление. Однако на следующий день он написал мне, что все это знал (я — посредственный телепат:) и задал вопрос, которым я начал сегодняшний рассказ. Это было уже интереснее, и я пообещал раскрыть тему в блоге!

Раздел реестра App Paths

Действительно, не указывая полный путь, можно запустить некоторые стандартные программы Windows из окна «Выполнить», но не из командной строки. Помимо проигрывателя Windows Media, это, например, Paint (mspaint ) и Wordpad (wordpad ). То же самое верно и для приложений MS Office – проверьте команду excel или winword !

Разница между окном «Выполнить» и командной строкой заключается в том, что оболочка Windows (explorer) обладает более широкими возможностями, чем консольный интерпретатор команд. В данном случае все дело в функции ShellExecuteEx , которой снабжена оболочка. Когда вы запускаете исполняемый файл без указания полного пути к нему, функция выполняет поиск в:

  • текущей папке
  • папках Windows и System32
  • разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths

Как работает раздел App Paths

Давайте посмотрим на работу App Paths на примере Windows Media Player.

  • создан подраздел с псевдонимом исполняемого файла (в данном случае – это wmplayer.exe )
  • в параметре По умолчанию указан полный путь к файлу. Если в пути к файлу используется переменная, параметр должен быть расширяемым строковым (REG_EXPAND_SZ). Указывая абсолютный путь, можно обойтись обычным строковым параметром (REG_SZ).
  • в параметре Path задана рабочая папка программы

Работает это очень просто. Вы вводите псевдоним файла в окне «Выполнить» или адресной строке проводника, а система автоматически смотрит в указанном пути.

Как ускорить свою работу с помощью App Paths

Этим разделом реестра можно пользоваться для быстрого запуска программ, ярлыки которых не нужны вам в панели задач или на рабочем столе. Например, для поиска и замены в текстовых файлах я применяю программу BKReplacem (replacem.exe), у которой своя папка внутри папки PortableSoft. В разделе App Paths я создал подраздел bkr.exe и указал полный путь к утилите. Теперь ее запуск сводится к выполнению bkr в окне «Выполнить».

Кстати, не забывайте заключать в кавычки пути, содержащие пробелы. И, надеюсь, вы уже догадались, что можно сократить команду до одной буквы. Продолжая этот пример, я мог бы создать подраздел b.exe. Вообще, у программы может быть сколько угодно псевдонимов, как вы увидите чуть ниже.

Еще одно применение, которое я нашел для App Paths, это запуск cmd.exe с полными правами. Я давно обхожусь без запроса UAC, благодаря запуску командной строки из планировщика заданий . Создав подраздел cmda.exe, я указал в нем путь к командному файлу, выполняющему задание.

В нем всего одна строка:

Schtasks /run /tn CMD_Admin

Теперь достаточно ввести в окно «Выполнить» команду cmda , чтобы открыть командную строку от имени администратора.

Что интересного можно найти в разделе App Paths

Во-первых, я уверен, что вы найдете там многие из установленных у вас программ. Вместо того чтобы прописывать путь к своей папке в переменную PATH, программы регистрируют свой исполняемый файл в разделе App Paths, следуя рекомендациям Microsoft.

Во-вторых, там есть подразделы WORDPAD.EXE и WRITE.EXE , причем оба ведут к файлу wordpad.exe.

Программа Write, входившая в состав первых операционных систем Microsoft, в Windows 95 была заменена на WordPad. Вы также найдете подраздел pbrush.exe , ссылающийся на mspaint, лежащий в System32.

Программ Write и Paintbrush нет в Windows уже лет 15, однако упоминание о них до сих пор содержится в системе! И это подводит нас к разговору о том, когда и зачем в Windows ввели раздел App Paths.

История App Paths

Раздел App Paths появился в Windows 95 в качестве противоядия от засорения пути PATH, который задавался в файле autoexec.bat . Программы традиционно добавляли туда пути к своим папкам, как это до сих пор иногда делается с одноименной переменной среды. При загрузке системы файл считывался, а программы оказывались в системном пути.

Кстати, старый способ autoexec.bat до сих пор работает, позволяя запускать исполняемые файлы без указания пути, хотя использовать его уже нет смысла.

Основная проблема для разработчиков состояла в том, что найти в autoexec.bat правильную строку SET PATH было нетривиальной задачей. При этом нельзя было вставлять свою строку в начало файла, поскольку другая команда ниже могла переопределить переменную.

Кроме того, добавлять путь в PATH ради того чтобы указать Windows на одну единственную программу, было не рационально, сродни стрельбе из пушки по воробьям. Вот тогда разработчики Windows 95 и придумали решение с разделом реестра, позволяющим указывать пути к конкретным исполняемым файлам.

Почему в этом разделе до сих пор есть подразделы для Write и Paintbrush? Так Windows обеспечивает совместимость программ!

Теоретически, какая-нибудь древняя программа может полагаться на своих ровесниц, наследницы которых уже сменили имя или расположение. Чтобы старые приложения не ломались, используется раздел реестра App Paths.

Сводная таблица

Итак, подведем итог! Проще всего сравнить возможности оболочки Windows и командного интерпретатора системы в табличной форме.

В таком виде становится наглядным не только более широкий диапазон поиска исполняемых файлов в проводнике, но и не вполне очевидная зависимость командной строки от переменной PATH. Именно ее пути влияют на то, нужно ли в консоли указывать путь к файлам, расположенным в системных папках.

Наконец, раздел App Paths представляет дополнительную ценность за счет того, что в нем можно указывать короткие псевдонимы исполняемых файлов, упрощая их запуск.

А вы используете раздел реестра App Paths или собственные переменные среды? Если да, то расскажите в комментариях, как они упрощают вашу работу!

Те, кто хоть раз пользовался утилитами командной строки, знают, что намного удобней набирать команду сразу, не используя при этом путь к этой утилите, и даже не переходя в нужный каталог, поэтому сегодня поговорим о системной переменной path в Windows , узнаем, для чего она нужна, и как ее можно изменить.

Сегодня мы не будем разговаривать о том, что такое командная строка и какие стандартные утилиты командной строки есть в Windows, так как об этом мы уже разговаривали в материале Основы командной строки Windows .

Для чего нужна системная переменная path

Системная переменная path нужна нам для того, чтобы мы могли добавлять свои утилиты в командную строку CMD.exe, а если говорить конкретней, то добавлять каталоги, т.е. пути к этим каталогам для того, что ОС могла определить по названию утилиты, где она расположена, и запустить ее.

Если говорить на примере, то допустим, Вы открываете командную строку, набираете команду ipconfig (служит для конфигурирования сетевых интерфейсов ) и в момент запуска командная строка не знает, где располагается данная утилита, поэтому она начинает ее искать. Сначала в текущем каталоге, затем в системных каталогах, которые как раз, и указаны в системной переменной path. Другими словами, если Вы написали свою консольную программу и хотите ее запустить так же, как ipconfig, то у Вас это не получиться, так как ОС не знает, где же лежит сама программа. Поэтому нам нужно переходить в каталог с программой или писать полный путь к исполняемому файлу, для того чтобы запустить свою утилиту. Поэтому, если Вы часто пользуетесь какой-нибудь консольной программой, которой нет, в стандартной сборке Windows и не хотите копировать ее в системные каталоги, то лучше всего будет создать свой каталог и добавить его в системную переменную path.

Пример

Допустим, мы написали консольную программу, для примера у нас это будет простой bat файл со следующей простой командой:

Echo Привет! Pause

Примечание! Если Вы хотите, чтобы в командной строке выводилась кириллица, то сохраните бат файл с кодировкой OEM 866, это можно сделать с помощью текстового редактора Notepad++ .

Сохраним с названием privet.bat на диске C в каталоге test.

Теперь мы запускаем командную строку (ОС Windows 7) «Пуск -> Выполнить -> cmd» .

И сразу попробуем запустить нашу утилиту, и посмотрим, что у нас из этого выйдет:

Как видите, командная строка не знает что это за программа. Мы, конечно, можем написать по-другому, например:

Т.е. с указанием полного пути к утилите, то тогда она конечно запустится. Или также можно перейти в каталог test и уже от туда запустить утилиту, например:

В данном случае программа тоже запустится. Но согласитесь, что это все лишние движения, тем более, если мы собираемся использовать эту программу достаточно часто. Поэтому давайте изменим системную переменную path.

Примечание! Если Вам не нравится фон или цвет шрифта командной строки, то Вы легко можете изменить его, а как мы с Вами разговаривали в статье Настройка внешнего вида командной строки Windows .

Изменяем системную переменную path в Windows 7

Для этого открываем «Панель управления -> Система -> Дополнительные параметры системы».

Затем выбираем «Переменные среды ».

После у Вас откроется окно «Переменные среды » и Вы в нижней части окна в списке «Системных переменных » ищите переменную path и жмете «Изменить» .

В итоге у Вас откроется небольшое окошко «Изменение системной переменной », где Вы в поле «Значение переменной » дописываете в конце через точку запятой, путь к каталогу, в котором Вы будете хранить свои консольные утилиты. Например, я указал C:\test. После ввода жмем «ОК».

А теперь давайте проверим. Будем делать в точности, как и в первый раз, т.е. открываем командную строку и сразу пишем privet.bat и смотрим

Как видите, на этот раз у нас все заработало, даже без указания полного пути.

Еще раз скажу, что это будет полезно тем, кто достаточно часто пользуется консольными утилитами, кстати, многие комплексы приложений, которые Вы устанавливаете сами, добавляют в path нужный путь, делая это за Вас.

Я думаю достаточно, если есть вопросы, задавайте в комментариях. Удачи!