Как посмотреть переменную path в windows

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

В этой пошаговой инструкции базовая информация о том, как открыть переменные среды Windows 11 и Windows 10, создать или отредактировать их.

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

Переменные среды в Windows — записи о расположении системных папок, свойствах системы и другие, которые доступны для любой программы или скрипта.

Одна из наиболее часто используемых переменных среды — PATH, указывающая на папки, в которых выполняется поиск файлов, вызываемых в командной строке, терминале Windows, файле bat или из других источников. В качестве примера её назначения:

  • Если вы откроете командную строку (или диалоговое окно «Выполнить»), введёте regedit и нажмете Enter — вы сможете запустить редактор реестра, не указывая полный путь к файлу regedit.exe, поскольку путь C:\Windows добавлен в переменную среды Path.
  • Если же тем же образом в командной строке написать имя программы, путь к которой не добавлен в Path (chrome.exe, adb.exe, pip и другие), вы получите сообщение «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом».

Если предположить, что вы часто используете команды adb.exe (например, для установки приложений Android в Windows 11), pip install (для установки пакетов Python) или любые другие то для того, чтобы не писать каждый раз полный путь к этим файлам, имеет смысл добавить эти пути в переменные среды.

Также вы можете добавлять и иные переменные среды (не обязательно содержащие пути), а в дальнейшем получать и использовать их значения в сценариях BAT (командной строки) или PowerShell. Пример получения и отображения значения системной переменной PATH для обоих случаев:

echo %PATH%
echo $Env:PATH

Получить список всех переменных среды в командной строке и PowerShell соответственно можно следующими командами:

set
ls env:

Редактирование переменных среды Windows 11/10

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

  1. Чтобы открыть переменные среды Windows вы можете использовать поиск в панели задач (начните вводить «Переменных» и откройте пункт «Изменение системных переменных среды») или нажать клавиши Win+R на клавиатуре, ввести sysdm.cpl и нажать Enter. Открыть изменение переменных среды в Windows
  2. На вкладке «Дополнительно» нажмите кнопку «Переменные среды…» Переменные среды в параметрах системы Windows
  3. В разделе «Переменные среды пользователя» (если требуется изменение только для текущего пользователя) или «Системные переменные» выберите переменную, которую нужно изменить и нажмите «Изменить» (обычно требуется именно это), либо, если необходимо создать новую переменную — нажмите кнопку «Создать». В моем примере — добавляем свои пути в системную переменную Path (выбираем эту переменную и нажимаем «Изменить»). Создание и изменение переменных среды Windows
  4. Для добавления нового значения (пути) в системную переменную в следующем окне можно нажать кнопку «Создать», либо просто дважды кликнуть по первой пустой строке, затем — ввести нужный путь к папке, содержащей нужные нам исполняемые файлы. Изменение переменно PATH
  5. Также вы можете использовать кнопку «Изменить текст», в этом случае окно изменения системной переменной откроется в ином виде: имя переменной, а ниже — её значение. В случае указания путей значение будет представлять собой все пути, хранящиеся в переменной, разделенные знаком «точка с запятой». Изменение имени и значения системной переменной среды
  6. При создании новой переменной среды окно будет тем же, что и в 5-м шаге: необходимо будет указать имя системной переменной в верхнем поле, а её значение — в нижнем.

После создания или изменения переменной среды и сохранения сделанных настроек, переменная или обновленные значения сразу становятся доступны для текущего пользователя или в системе в целом в зависимости от того, какие именно переменные редактировались или создавались. Также есть методы добавления переменных среды в командной строке или PowerShell, подробнее в статье: Как добавить путь в переменную среды 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.

Как изменять значения переменных среды?

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

Пользователям других операционных систем предлагаю погуглить :)

Переменную поменял, но эффекта нет. Почему?

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

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


Здравствуйте, коллеги.

Довольно часто на наших курсах нам приходится работать с различными переменными окружения. Особый интерес у учеников вызывает переменная окружения PATH. В этой мини-статье решили рассказать о том, что это за переменная и зачем нужна нашей операционной системе.

Что такое переменная окружения

Для начала давайте определимся с тем, что вообще такое переменная окружения.

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

Если в языке программирования переменная существует только в рамках какой-то программы, то переменная окружения существует в рамках всей операционной системы и любая программа может к ней обратиться.

Нужны такие переменные как раз для этого — чтобы программы могли к ним обращаться и получать требующуюся им для работы информацию.

Например, давайте представим, что мы пишем программу, которая в ходе своей работы должна взаимодействовать с Java. На каждом компьютере она может находиться в разных местах. У меня в одной директории, у другого человека — в другой. Как нам написать программу, которая работала бы у всех?

Очень просто, мы пишем требование к нашей программе — в системе, где вы будете ее запускать, обязательно должна быть выставлена переменная окружения JAVA_HOME, содержащая путь до Java. Читая значение этой переменной наша программа будет понимать, где искать движок на том компьютере, на котором ее запустили.

Переменная окружения PATH

Переменная окружения PATH нужна прежде всего самой командной строке. Ее значение — это список директорий, в которых хранятся исполняемые файла. Директории перечислены через двоеточие. Например:

/usr/bin:/usr/local/bin

Тут две директории, перечисленные через двоеточие:

/usr/bin
/usr/local/bin

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

Переменная окружения PATH существует как в Linux, так и в MacOS и Windows и везде работает одинаково.

По дефолту в PATH лежат только основные директории, но мы можем добавлять туда и новые после установки каких-то новых программ.

Дальнейшие команды будут работать только в командной оболочке bash в операционных системах Linux (например, Ubuntu) и MacOS. Если у вас Windows, повторить их можно, установив специальное расширение cygwin по нашему видео —

https://www.youtube.com/watch?v=2csABC85onI

Чтобы узнать, какие директории уже указаны в PATH, можно распечатать ее содержимое:

echo $PATH

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

echo $PATH | tr «:» «\n»

Так получится гораздо нагляднее.

Чтобы узнать, в какой директории лежит исполняемый файл той или иной команды, необходимо ввести команду which. Например, давайте посмотрим, где лежит исполняемый файл команды ls:

which ls

Как редактировать переменную окружения PATH?

Для ОС Windows версии 8 и 10:

В строке «Поиск» выполните поиск: Система (Панель управления)
Нажмите на ссылку “Дополнительные параметры системы”
Нажмите “Переменные среды”
В разделе “Переменные среды” выберите переменную среды PATH
Нажмите “Изменить”
Если переменной PATH не существует, нажмите “Создать”
В окне “Изменение системной переменной” (или “Новая системная переменная”) укажите значение переменной среды PATH
Нажмите “ОК”
Откройте заново окно командной строки (если она была открыта)

Для MacOS и Linux переменная окружения PATH обычно дополняется через системные файлы .bashrc и .bash_profile

Вот и все, что нужно знать о переменной окружения PATH, чтобы начать с ней работать.

Приходите на наш курс Bash — инструменты тестировщика, там мы рассказываем это и многое другое для того, чтобы наши ученики чувствовали себя уверенным пользователем Linux и MacOS и могли эффективно работать с любой командной оболочкой.

А если хочешь почувствовать себя настоящим профессионалом командной строки, покупай пакет курсов Консольные утилиты PRO с хорошей скидкой.

Учитесь новому каждый день! :)

Переменная среды (environment variable) — текстовая короткая ссылка на элемент операционной системы Windows, предназначенная для получения быстрого доступа к объекту системы, или к данным о каталогах и конфигурации компьютера. Переменная среды (переменная окружения) позволяет быстро перейти к нужному месту на компьютере, без использования имени пользователя или полного пути к объекту.

Переменные окружения Windows используются в командной строке, в диалоговом окне «Выполнить» и адресной строке Проводника. Переменная среды может содержать информацию о настройках системы или данные о текущем пользователе компьютера.

Содержание:

  1. Пример использования переменной среды Windows
  2. Как посмотреть переменные среды Windows 10
  3. Доступ к переменным средам из реестра Windows
  4. Как посмотреть все переменные среды в командной строке
  5. Открытие списка переменных среды в Windows PowerShell
  6. Создание переменной среды в Windows
  7. Список переменных среды Windows в таблице
  8. Выводы статьи

Переменные среды Windows делятся на два вида:

  • Пользовательские переменные среды — содержат указания пути к пользовательским каталогам.
  • Системные переменные среды — содержат информацию о каталогах ОС и конфигурации ПК.

Чаще всего переменные среды используются как путь к дискам, файлам или параметрам системы. Использование переменной среды позволяет быстро перейти к нужной директории операционной системы, без ввода полного пути, например, без ввода имени пользователя.

Переменные окружения часто используются при написании скриптов, или при работе в командной строке. Короткие переменные можно использовать вместо полного пути до файла или папки, например, при создании ярлыков, при вводе пути к объекту.

Пример использования переменной среды Windows

Рассмотрим следующий пример: пользователю нужно открыть системную папку «AppData», в которой находятся различные данные программ, установленных в операционную систему Windows. Скрытая папка «AppData» находится в профиле пользователя, обычно на диске «C:». Данные приложений расположены по пути:

C:\Users\Имя_ пользователя\AppData\Roaming

Чтобы получить доступ к этой папке нужно выполнить несколько последовательных действий: открыть Проводник, включить в Windows отображение скрытых папок и файлов, а затем пройти по всему пути до нужной папки.

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

Чтобы открыть нужный каталог достаточно лишь ввести «%APPDATA%» в поле поиска Windows, в адресную строку Проводника или в диалоговое окно «Выполнить», а затем нажать на клавишу «Enter».

Переменные среды Виндовс заключены в специальный оператор «%», который находится с двух сторон названия переменной. Это необходимо, чтобы система могла обработать запрос.

Пользователь может самостоятельно создавать переменные среды или изменять существующие. В статье мы рассмотрим несколько способов просмотра переменных среды и самостоятельное создание переменной. В руководстве вы найдете таблицу со списком переменных, применяемых в операционных системах Windows 10, Windows 8.1, Windows 8, Windows 7.

Как посмотреть переменные среды Windows 10

Сейчас мы посмотрим, как получить доступ к переменным средам в операционной системе Windows 10. В других версиях Windows необходимо выполнить аналогичные действия.

Чтобы посмотреть переменные окружения Windows 10, выполните следующее:

  1. Нажмите на клавиши» «Win» + «R».
  2. В окне «Выполнить» введите команду: «systempropertiesadvanced» (без кавычек), а затем нажмите на кнопку «ОК».
  3. В окне «Свойства системы», во вкладке «Дополнительно» нажмите на кнопку «Переменные среды…».

переменные среды

  1. В окне «Переменные среды» отображаются пользовательские переменные среды и системные переменные среды.

переменные среды

Доступ к переменным средам из реестра Windows

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

Системные переменные среды находятся по следующему пути:

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

переменное окружение в реестре

Переменные среды локального пользователя расположены в следующей ветке реестра:

HKEY_CURRENT_USER\Environment

перменные среды в реестре

Вы можете создать в редакторе реестра новые переменные или изменить существующие.

Как посмотреть все переменные среды в командной строке

Пользователь может получить список переменных среды при помощи системного инструмента — командной строки Windows.

В cmd переменные среды открываются следующим образом:

  1. Запустите командную строку от имени администратора.
  2. Выполните команду:
set

переменные среды в командной строке

Для получения списка переменных в виде текстового файла, выполните в командной строке команду:

set > C:\Variables.txt

После выполнения этой команды, на Локальном диске «C:» появится текстовый файл с именем «Variables» (имя можно использовать любое), в котором находится список переменных среды Windows.

На моем компьютере файл имеет следующее содержание:

ALLUSERSPROFILE=C:\ProgramData

APPDATA=C:\Users\User\AppData\Roaming

CommonProgramFiles=C:\Program Files\Common Files

CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files

CommonProgramW6432=C:\Program Files\Common Files

COMPUTERNAME=DESKTOP-3HEECRJ

ComSpec=C:\WINDOWS\system32\cmd.exe

DokanLibrary1=C:\Program Files\Dokan\DokanLibrary-1.2.2\

DriverData=C:\Windows\System32\Drivers\DriverData

HOMEDRIVE=C:

HOMEPATH=\Users\User

LOCALAPPDATA=C:\Users\User\AppData\Local

LOGONSERVER=\\DESKTOP-3HEECRJ

NUMBER_OF_PROCESSORS=4

OneDrive=C:\Users\User\OneDrive

OneDriveConsumer=C:\Users\User\OneDrive

OS=Windows_NT

Path=C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files (x86)\Windows Live\Shared;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Users\User\AppData\Local\Microsoft\WindowsApps

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

PROCESSOR_ARCHITECTURE=AMD64

PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 60 Stepping 3, GenuineIntel

PROCESSOR_LEVEL=6

PROCESSOR_REVISION=3c03

ProgramData=C:\ProgramData

ProgramFiles=C:\Program Files

ProgramFiles(x86)=C:\Program Files (x86)

ProgramW6432=C:\Program Files

PROMPT=$P$G

PSModulePath=C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules

PUBLIC=C:\Users\Public

SystemDrive=C:

SystemRoot=C:\WINDOWS

TEMP=C:\Users\User\AppData\Local\Temp

TMP=C:\Users\User\App\Data\Local\Temp

TMPDIR=C:\Users\Public\Documents\Wondershare\Creator\Temp

USERDOMAIN=DESKTOP-3HEECRJ

USERDOMAIN_ROAMINGPROFILE=DESKTOP-3HEECRJ

USERNAME=User

USERPROFILE=C:\Users\User

windir=C:\WINDOWS

Открытие списка переменных среды в Windows PowerShell

Открытие списка переменных среды возможно при помощи системного средства Windows PowerShell.

Выполните следующие действия:

  1. Запустите Windows PowerShell от имени администратора.
  2. Введите команду, а затем нажмите на клавишу «Enter»:
dir Env:
  1. В окне PowerShell откроется список переменных среды Windows.

переменные среды в powershell

Создание переменной среды в Windows

Пользователь может самостоятельно создать новую переменную для открытия директорий на компьютере, или для запуска программ.

Перед внесением изменений в переменные окружения, обратите внимание на то, что бездумное изменение значений переменных среды Windows может привести к сбоям или неполадкам в работе операционной системы.

Проделайте следующее:

  1. В окне «Переменные среды» выберите одну из групп переменных: пользовательские или системные переменные.
  2. Нажмите на кнопку «Создать…».

переменные среды

На этом примере я создам отдельную переменную среды для запуска программы TeamViewer.

  1. В окне «Изменение пользовательской переменной» добавьте имя переменной, а в поле «Значение переменной:» введите полный путь к исполняемому файлу.

изменение переменной

  1. В окне переменных сред добавилась новая переменная. Нажмите на кнопку «ОК» для применения изменений.

переменная создана

  1. В диалоговом окне «Выполнить» введите «%Имя_переменной%», в нашем случае, «%TeamViewer%», нажмите на кнопку «ОК».

выполнить

  1. На Рабочем столе компьютера откроется окно запущенной программы.

Подобным способом, после ввода переменной в адресную строку Проводника, выполняется запуск программы или открытие директории на ПК.

Переменная среды пути «Path» содержит список директорий на компьютере, в которых система должна искать исполняемые файлы. Переменная среды пути «PATH» не добавляется к исполняемым файлам, а только к директориям, где находятся данные файлы.

Если добавить в переменную среды Path Windows путь к директории с исполняемым файлом, например, для браузера Google Chrome: C:\Program Files (x86)\Google\Chrome\Application, то программа запустится из командной строки, после выполнения команды «chrome», без ввода полного пути к исполняемому файлу.

добавление переменной

При необходимости, пользователь может удалить ненужную переменную из операционной системы Windows.

Список переменных среды Windows в таблице

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

Переменная Назначение Значение переменной
%ALLUSERSPROFILE% Папка ProgramData C:\ProgramData
%APPDATA% Папка размещения данных программ C:\Users\User\AppData\Roaming
%CommonProgramFiles% Папка Common Files в Program Files C:\Program FilesCommon Files
%CommonProgramW6432% Папка Common Files в Program Files C:\Program Files\Common Files
%COMPUTERNAME% Имя компьютера DESKTOP-XXXXXXX
%ComSpec% Запуск командной строки C:\WINDOWS\system32\cmd.exe
%DriverData% Папка DriverData C:\Windows\System32\Drivers\DriverData
%HOMEDRIVE% Системный диск C:
%HOMEPATH% Папка профиля пользователя C:\Users\User
%LOCALAPPDATA% Папка локальных данных приложений C:\Users\User\AppData\Local
%LOGONSERVER% Имя контроллера домена \DESKTOP-XXXXXXX
%NUMBER_OF_PROCESSORS% Количество потоков процессора
%OneDrive% Папка OneDrive C:\Users\User\OneDrive
%Path% Путь поиска исполняемых файлов C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;…
%PATHEXT% Исполняемые расширения файлов .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC
%PROCESSOR_ARCHITECTURE% Архитектура процессора AMD64; x86; IA64
%PROCESSOR_IDENTIFIER% Описание процессора
%PROCESSOR_LEVEL% Номер модели процессора
%PROCESSOR_REVISION% Ревизия процессора
%ProgramData% Папка ProgramData C:\ProgramData
%ProgramFiles% Папка ProgramFiles C:\Program Files
%ProgramFiles(x86)% Папка ProgramFiles(x86) C:\Program Files (x86)
%ProgramW6432% Папка ProgramFiles C:\Program Files
%PROMPT% Возвращение параметров командной строки
%PSModulePath% Пути к расположению модулей PowerShell C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
%PUBLIC% Папка «Общие» в профиле пользователей C:\Users\Public
%SystemDrive% Системный диск с Windows C:
%SystemRoot% Папка Windows C:\Windows
%TEMP% Временный каталог C:\Users\User\AppData\Local\Temp
%TMP% Временный каталог C:\Users\User\AppData\Local\Temp
%USERDOMAIN% Имя домена DESKTOP-XXXXXXX
%USERNAME% Имя пользователя User
%USERPROFILE% Профиль пользователя C:\Users\User
%Windir% Папка Windows C:\Windows

Выводы статьи

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

Похожие публикации:

  • Некоторыми параметрами управляет ваша организация в Windows 10
  • Как закрепить папку на панели задач Windows 10 — 5 способов
  • Как создать загрузочную флешку Windows 7 — 5 способов
  • Как удалить программу в Windows 10 — 9 способов
  • Оптимизация Windows 10 для ускорения работы ПК

Вы тут: Главная Windows В каких случаях при запуске программы не надо указывать полный путь к ней

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

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

[+] На этой странице

Переменная PATH

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

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

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

App Paths
Увеличить рисунок

Когда исполняемый файл находится в одном из расположений, известных Windows, вводить полный путь к файлу необязательно. Я использую это свойство операционной системы, чтобы быстро запускать любимые инструменты Sysinternals, утилиты 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%"

App Paths

Учтите, что код выше рассчитан на выполнение в командной строке. В командном файле (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.

App Paths
Увеличить рисунок

Здесь:

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

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

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

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

App Paths
Увеличить рисунок

Кстати, не забывайте заключать в кавычки пути, содержащие пробелы. И, надеюсь, вы уже догадались, что можно сократить команду до одной буквы. Продолжая этот пример, я мог бы создать подраздел 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.

App Paths
Увеличить рисунок

Программа 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 10 1709 у магазинных приложений появились псевдонимы выполнения. Разработчик приложения прописывает в манифесте псевдоним, что позволяет запускать по нему приложение из командной строки и оболочки Windows. В примере ниже фрагмент манифеста утилиты Monitorian, о которой я рассказывал.

  <uap3:Extension Category="windows.appExecutionAlias" Executable="MonitorianPlus\MonitorianPlus.exe" EntryPoint="Windows.FullTrustApplication">
          <uap3:AppExecutionAlias>
            <desktop:ExecutionAlias Alias="Monitorian.exe" />
          </uap3:AppExecutionAlias>
        </uap3:Extension>

Пользовательское изменение псевдонимов не предусмотрено, их можно только отключить в параметрах — ищите там alias или псевдоним. Об этой возможности полезно знать, потому что бывают неприятные сюрпризы, как с Python.

app aliases

Бонус: исследователь из Google Project Zero разбирает подноготную работы псевдонимов в контексте безопасности: Overview of Windows Execution Aliases.

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

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

Поиск исполняемого файла Проводник Командная строка
Текущая папка Да Да
Системные папки (Windows, System32) Да Нет
Переменная PATH Да Да
Раздел реестра App Paths Да Нет 1
Псевдонимы магазинных приложений Да Да

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

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


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

  • Как посмотреть пароль сетевого подключения windows 10
  • Как посмотреть пароль в браузере edge windows 10
  • Как посмотреть пароль pppoe windows 10
  • Как посмотреть пароли учетные данные windows
  • Как посмотреть параметры своего компьютера windows 10