При работе в любой командной оболочке обычно требуется ввести конкретный путь для запуска исполняемой программы. Как например
start c:/ProgramFiles/Steam.exe
Я знаю, что это не настоящий каталог для steam, но не важно.
Однако есть исполняемые файлы, для которых мне не нужно было набирать целый каталог, например chrome.exe
. Все, что мне нужно было сделать, это набрать start chrome.exe
в моей оболочке и boom, там появляется окно. Мне просто интересно, почему это так, если хром в любом случае «особенный».
возможное объяснение, которое я имею, когда запускаю исполняемый файл, оболочка обычно просматривает текущий рабочий каталог и видит, существует ли исполняемый файл. Если нет, он ищет переменные окружения и ищет переменную, называемую PATH
. Поскольку переменная path представляет собой набор случайных путей, которые объединяются в одну строку, она ищет в каждом пути исполняемый файл, соответствующий вызову run. Однако, когда я посмотрел мою переменную PATH
, я получил это:
%SystemRoot%\system32\WindowsPowerShell\v1.0\;C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Java\jdk-9\bin;C:\Program Files (x86)\QuickTime\QTSystem\
Я не нашел там пути, указывающего на местоположение chrome.exe
, которое будет C:/Program Files (x86)/Google/Chrome/Application
Может кто-нибудь объяснить, для чего на самом деле используется эта PATH
переменная?
Я знаю по общему определению, что он используется, когда программы должны знать, где что-то установить, запустить что-то и т. Д., Но там всего 5 путей, и у меня установлены сотни программ, поэтому я не понимаю, как это сделать. будет работать и почему chrome.exe
ведет себя так?