Вопрос: Как получилось приглашение Win + R открыть Python, когда это не на моем пути?


Когда я использую приглашение запуска в Windows XP Professional (Win + R) и введите python.exe или python, он работает и приветствует меня подсказкой python.

Однако, когда я начинаю cmd окна, а затем введите python.exe или python, он не находит его.

Это то, что я ожидаю, поскольку каталог Python (для меня, I:\Python31\) не в моем PATH,

Почему так, если я набираю python.exe в подсказке Win + R, он работает?

Изменить: вот частичный вывод SET, Я удалил большинство нерелевантных записей, я не уверен, почему это полезно, кроме PATH переменная, о которой я уже говорил, не включает каталог Python. Если вам нужна конкретная переменная, отличная от этой, спросите пожалуйста.

CLIENTNAME=Console
CommonProgramFiles=I:\Program Files\Common Files
ComSpec=I:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
OS=Windows_NT
Path=I:\WINDOWS\system32;I:\WINDOWS;I:\WINDOWS\system32\WBEM;I:\WINDOWS\system32\WindowsPowerShell\v1.0;I:\Qt\2010.05\mingw\bin;I:\Program Files\CMake 2.8\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PSC1
ProgramFiles=I:\Program Files
PROMPT=$P$G
SESSIONNAME=Console
SystemDrive=I:
SystemRoot=I:\WINDOWS
VBOX_INSTALL_PATH=I:\Program Files\Oracle\VirtualBox\
windir=I:\WINDOWS

4
2018-01-03 01:22


Источник


Не могли бы вы изменить свой вопрос, чтобы включить вывод SET? Вы можете отредактировать его, чтобы имя не появилось. - paradroid
Размещенные части, не уверен, как что-то еще Path имеет значение, вам нужна определенная переменная? - houbysoft
Каков ваш рабочий каталог? - digitxp


Ответы:


в запросе «Запуск» выполняется поиск пути реестра для запуска программ, а также% пути%. Взгляни на HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths - вы, скорее всего, найдете узел под названием «Python.exe» с записью по умолчанию, указывающей на исполняемый файл Python. Монтажники должен добавьте записи реестра для всех основных исполняемых файлов здесь, но приглашение Run является недооцененной функцией, поэтому многие разработчики забывают добавить этот простой шаг к своему установщику.


12
2018-01-03 02:48



Никогда не знал об этом сам, спасибо за ответ! - houbysoft
Технически это ShellExecuteEx() что делает поиск. - grawity
На самом деле в реестре есть несколько мест, где расположены пути, например HKCR\Applications, Однажды я должен их вычистить. - Synetech