当 Python 不在我的路径中时,为什么 Win+R 提示可以打开它?

hou*_*oft 4 windows path command-line

当我在 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
Run Code Online (Sandbox Code Playgroud)

jcr*_*dor 12

运行提示搜索要启动的程序的注册表路径以及 %path%。看一看HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths- 您可能会发现一个名为“Python.exe”的节点,其默认条目指向 Python 可执行文件。安装程序应该在此处为所有主要可执行文件添加注册表项,但运行提示是一个被低估的功能,因此许多开发人员忘记将这个简单的步骤添加到他们的安装程序中。

  • 从技术上讲,执行查找的是“ShellExecuteEx()”。 (2认同)