Системная переменная 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

Firefox

$Env:Path += ';C:\Program Files\Mozilla Firefox'

Python

$Env:Path += ';C:\Users\Andrei\AppData\Local\Programs\Python\Python312'

CMake из Visual Studio

$Env:Path += ';C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin'

Postgres

$Env:Path += ';C:/Program Files/PostgreSQL/12/bin'

Добавить директорию в PATH

Быстрый способ перейти к редактированию PATH:

Нажать клавишу Win и ввести в поиск env

Системная переменная env изображение с сайта www.devhops.ru
Env
www.devhops.ru

Пошаговый способ:

Правый клик на Этот Компьютер (This PC) → Свойства (Properties)

Мой компьютер Свойства изображение с сайта www.devhops.ru
This PC
Properties

Дополнительные параметры системы (Advanced system settings)

Control Panel - All Control Panel Items - System изображение с сайта www.devhops.ru
All Control Panel Items - System
Control Panel

Дополнительно (Advanced) → Переменные среды (Environment Variables)

Environment Variables изображение с сайта www.devhops.ru
Environment Variables
System Properties

Если хотите менять для всей системы, то делайте это в оконе

«Переменные среды» (System Variables)

Найдите строку PATH в блоке «Системные переменные» (System variables) выделите кликом и нажмите кнопку «Изменить...» (Edit...)

Если хотите менять только для своего пользователя, то делайте это в блоке

«Переменные среды пользователя %USERNAME%» (User variables for %USERNAME%)

Environment Variables изображение с сайта www.devhops.ru
Environment Variables
Edit

Создайте новый путь (New)

Path Environment Variable изображение с сайта www.devhops.ru
Path
Edit environment variable

Введите адрес директории в которой лежит нужная программа. В нашем случае это

C:\Program Files (x86)\Mozilla Firefox

Path Environment Variable изображение с сайта www.devhops.ru
Path
Edit environment variable

Перезапустите консоль или открываем новую и пишем там 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 выделено зелёным.

результат выдачи команды set без параметров

Ошибки

-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

Похожие статьи
Windows
Terminal
PowerShell
Loudness Equalization
Сеть: Firewall, RDP, SSH, Telnet…
Драйверы в Windows
Режим разработчика в Windows 10
Git Bash
WSL: Windows Subsystem for Linux
Системная переменная PATH
Установка Windows на gpt диск
batch file
Удалённый рабочий стол
Горячие клавиши
BSOD просмотр логов ошибок
Точки восстановления системы

РЕКЛАМА от Яндекса. Может быть недоступна в вашем регионе

Конец рекламы. Если там пусто считайте это рекламой моей телеги

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: