运行 .exe 在没有 PATH 变量的 cmd 中的任何地方

Run .exe anywhere in cmd without PATH variable

这有效 (Notepad++):

C:\Anywhere> start notepad++ hello.txt

这有效(SoX 用于消除声音中的静音):

C:\Anywhere> sox in.wav out1.wav silence 1 0.1 1%

然而,我的 PATH 变量两者都不包含(将按要求发送)。

如何使用我的程序执行此操作?
从任何地方到运行。

此外,如果没有 start 命令,为什么 Notepad++ 不能工作?

(我通过将 .exe 放在 C:\ 然后简单地调用 C:\Anywhere> /myprogram 来解决这个问题,但我仍然对上面的内容感到好奇。)

获取指定场景

  • 您可以使用 start 命令(或 windows Run 对话框)从任何地方启动应用程序,而无需将其父文件夹包含在 path 变量中,
  • 但是如果没有来自任何目录的 start 命令,您无法启动应用程序,但不包括到达它的完整路径(它不在 path 中)或位于 adecuated 目录中

应用程序包含在注册表项下

HKEY_CLASSES_ROOT\Applications

注意: 是"merged" view显示

的合并内容
HKEY_LOCAL_MACHINE\Software\Classes\Applications
HKEY_CURRENT_USER\Software\Classes\Applications

如果您不是管理员而无法更改本地机器配置,您可以随时修改您的用户注册表信息以包含您需要的应​​用程序。

edited 注册表中有第二个位置,允许在注册表中包含一个应用程序,使用 start 命令,Run 对话框执行或使用 ShellExecuteShellExecuteEx API 调用的任何内容。

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\