Переменная PATH отличается тем, что используется командным процессором (cmd.exe) для поиска любых исполняемых файлов, которые вызываются, но не существуют в текущем каталоге. Этот поиск выполняется автоматически и выполняется в порядке, указанном в переменной PATH. Например, для вызова любого файла .exe, который находится в папке Python38 или в папке установки Java, из любой точки вашей файловой системы, вы можете просто ввести имя файла (например, javac myfile.java
) и нажать клавишу Enter, чтобы запустить его (при условии, что установочный каталог Java является частью переменной PATH.
Вы можете попробовать поиграть с where
в командной строке, чтобы получить представление о том, какой исполняемый файл действительно вызывается, если вы просто вводите имя файла без явного дорожка. Введите where /?
в командной строке, чтобы получить описание справки. Например, where java
должен давать вам путь, например C:\Program Files\Java\Java 1.8\java.exe
или что-то в этом роде.
Функциональность PATH - это та же самая причина, по которой можно просто набрать calc
в командной строке и увидеть, как вызывается приложение калькулятора. Это потому, что обычно C:\Windows\System32\
является частью PATH, а calc.exe
находится в этом каталоге.
Если вы определяете свои собственные переменные окружения, такие как PYTHONPATH et c. эта функция «автоматического поиска» не будет вызываться автоматически при таких определениях. Однако вы можете использовать эти определения внутри ваших пакетных файлов для выполнения каких-либо задач, а также Python или любое другое приложение, которое создает эти переменные, может использовать их для извлечения своих файлов. Если эта переменная будет отсутствовать, и приложение будет проверять эту переменную специально для вызова или извлечения некоторых файлов по этому пути, тогда приложение не сможет работать, даже если каталог был добавлен в переменную среды PATH (если приложение также не пытается просто вызвать файл и надеется, что он разрешается через PATH автоматически).
В своем собственном пакетном файле вы можете сделать что-то вроде
SET JAVAPATH=....
SET PYTHONPATH=....
SET PATH=%JAVAPATH%;%PYTHONPATH%
, чтобы создать переменную PATH более структурированным образом. Обратите внимание, что это определение PATH действительно только в области действия вашего командного файла. Это не изменит PATH, поддерживаемый Windows в Системных настройках.