Системная переменная PATH Windows
Введение | |
Для чего используется | |
Пример | |
Добавить в PATH из PowerShell | |
Добавить в PATH из UI | |
Изучить содержимое PATH | |
Ошибки | |
Postgesql | |
Похожие статьи |
Введение
Если Вам нужно настроить PATH в Linux - перейдите сюда
Для чего используется
Когда Вы выполняете какую-либо команду в консоли, система ищет соответствие
между названием этой команды и программой, которую можно выполнить.
Искать по всему жёсткому диску было бы слишком долго, поэтому поиск
осуществляется только по некоторым директориям.
Список этих особых директорий хранится в системной переменной PATH.
Пример
Предположим, что возникла необходимость запускать какую-то программу, например
Firefox
, непосредственно из командной строки.
Без предварительной подготовки ввод Firefox в консоль выдаст ошибку.
C:\Users\a>firefox
'firefox' is not recognized as an internal or external command, operable program or batch file.
Чтобы решить эту проблему нужно добавить директорию с испоняемым файлом firefox в PATH
Добавить в PATH с помощью PowerShell
Добавить текущую директорию в конец
$Env:Path += ';' $Env:Path += $pwd
Добавить текущую директорию в начало
$CUR_DIR = "${pwd};" $Env:Path = $CUR_DIR + $Env:Path
Добавить директорию с зависимостью от текущего пользователя в начало
$CURRENT_USER = $Env:Username $LOCAL_PY_PATH = 'C:\Users\' + $CURRENT_USER + '\AppData\Local\Programs\Python\Python312-32\;' $Env:Path = $LOCAL_PY_PATH + $Env:Path
$Env:Path += ';C:\Program Files\Mozilla Firefox'
$Env:Path += ';C:\Users\Andrei\AppData\Local\Programs\Python\Python312'
$Env:Path += ';C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin'
$Env:Path += ';C:/Program Files/PostgreSQL/12/bin'
Добавить директорию в PATH
Быстрый способ перейти к редактированию PATH:
Нажать клавишу Win и ввести в поиск env
Пошаговый способ:
Правый клик на Этот Компьютер (This PC) → Свойства (Properties)
Дополнительные параметры системы (Advanced system settings)
Дополнительно (Advanced) → Переменные среды (Environment Variables)
Если хотите менять для всей системы, то делайте это в оконе
«Переменные среды» (System Variables)
Найдите строку PATH в блоке
«Системные переменные» (System variables)
выделите кликом и нажмите кнопку «Изменить...» (Edit...)
Если хотите менять только для своего пользователя, то делайте это в блоке
«Переменные среды пользователя %USERNAME%» (User variables for %USERNAME%)
Создайте новый путь (New)
Введите адрес директории в которой лежит нужная программа. В нашем случае это
C:\Program Files (x86)\Mozilla Firefox
Перезапустите консоль или открываем новую и пишем там firefox.
C:\Users\a>firefox
Браузер должен запуститься.
Изучить содержимое PATH
В PowerShell достаточно выполнить
echo $Env:Path
C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;
Или
Get-ChildItem Env:Path
Name Value ---- ----- Path C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPo...
В cmd.exe посмотреть список переменных окружения можно выполнив команду set без параметров.
set
Выдача содержит системные переменные и переменные пользователя а также дополнительную информацию. Содержимое PATH выделено зелёным.
Ошибки
-bash: syntax error near unexpected token `('
Скорее всего Вы пытаетесь добавить в unix PATH адрес из Windows, c пробелами, скобками и так далее.
Например:
andrey@olegovich-10:/usr/share$ export PATH=/mnt/c/Program Files (x86)/Common Files/Oracle/Java/javapath_target_1128437:$PATH
-bash: syntax error near unexpected token `('
Для решения этой проблемы Вам нужно экранировать пробелы и скобки. Если импортируется много путей и ввод очень длинный -
немного проще записать PATH=$PATH:/путь , если Вам подходит запись в конец.
Также нужно помнить, что все лишние пробелы сломают импорт - для проверки можно сделать весь скрипт в одну строку
в текстовом редакторе.
Также стоит помнить, что если Вы работаете в
WSL
,
то переменные окружения нужно задавать через Windows.
andrey@olegovich-10:/usr/share$ export PATH=$PATH:/mnt/c/Program\ Files\ \(x86\)/Common\ Files/Oracle/Java/javapath_target_1128437
Postgesql
Приведу пример для использования psql из
WSL
и
Git Bash
- это может пригодиться если Вы хотите временно добавить
путь к psql в PATH чтобы запустить
Postrgres
скрипт.
В моём случае
psql.exe
находится в папке C:\Program Files\PostgreSQL\12\bin
В
WSL
PATH=$PATH:/mnt/c/Program\ Files/PostgreSQL/12/bin
В Git Bash
PATH=$PATH:/c/Program\ Files/PostgreSQL/12/bin
В PowerShell можно проверить наличие пути до Postgres с помощью Select-String
echo $Env:Path | Select-String Postgres
Добавить путь до Postgres в конец Path можно следующим образом
$Env:Path += ';C:/Program Files/PostgreSQL/12/bin'
Добавить в начало Path
$Env:Path = ';C:/Program Files/PostgreSQL/12/bin' + $Env:Path
РЕКЛАМА от Яндекса. Может быть недоступна в вашем регионе
Конец рекламы. Если там пусто считайте это рекламой моей телеги