因此,我经常使用 Run thingymabob,我发现对于某些程序,您只需输入 .exe 而不指定路径,它就会运行。Chrome、Notepad++ 和任何原生 Windows 应用程序都可以这样启动。
那么这是怎么做到的呢?为什么有些程序可以这样工作,而其他程序却不行?这可能是注册表的问题吗?还是更简单的事情,比如在某个地方把快捷方式放在正确的位置?
答案1
您需要更改 PATH 系统变量以包含可执行文件的目录。这基本上会告诉 Windows:(当用户输入文件名时,在 PATH 变量中指定的目录中查找可执行文件,包括此目录)。
对于 Windows 7:
右键单击“我的电脑”=> 选择“系统属性”=> 单击“高级系统设置”=>“高级”选项卡=>“环境变量”,然后在“系统变量”下选择“PATH”并单击“编辑”。将目录添加到所需的可执行文件。
对于 Windows 8:
控制面板 => 系统 => 高级 => 环境变量,然后在系统变量下选择 PATH 并单击编辑。将目录添加到所需的可执行文件。
注一:两种情况下,如果您都没有找到PATH项,您可以选择添加一个新变量,并添加PATH作为名称,类的位置作为值。
注释二:PATH变量一般是这样的:
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL SDK\2.0\bin\x64;C:\Program Files\Calibre2\;C:\Program Files\Intel\Intel(R) 管理引擎组件\DAL;C:\Program Files\Intel\Intel(R) 管理引擎组件\IPT;C:\Program Files (x86)\Intel\Intel(R) 管理引擎组件\DAL;C:\Program Files (x86)\Intel\Intel(R) 管理引擎组件\IPT;C:\Windows\SysWOW64;C:\Program Files\Microsoft 网络监视器 3\
要添加任何新值,请插入分号;后跟新值(接受的值显然是绝对路径)。
答案2
运行对话框会在多个位置查找可执行文件。其中一些是:
- 计算机目录:\Windows
- 目录:\Windows\System32
如果您将可执行文件放在这些文件夹中,运行将找到并执行它。同样,如果您将可执行文件的快捷方式放在这些文件夹中。
但是大多数程序(例如 Chrome 和 Notepad++)都会使用 PATH 变量或“App Path”注册表项,即:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths