在没有PATH变量的cmd中的任何位置运行.exe

时间:2015-09-25 22:58:24

标签: cmd exe path-variables

这适用(Notepad ++):

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

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

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

然而,我的 PATH 变量既不包含(会根据要求发送)。

我如何使用我的程序执行此操作?
从各地跑步。

另外,为什么Notepad ++在没有start命令的情况下不起作用?

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

1 个答案:

答案 0 :(得分:4)

获取指示的场景

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

应用程序包含在密钥

下的注册表中
HKEY_CLASSES_ROOT\Applications

注意:显示

的组合内容的"merged" view
HKEY_LOCAL_MACHINE\Software\Classes\Applications
HKEY_CURRENT_USER\Software\Classes\Applications

如果您不是管理员来更改本地计算机配置,则可以随时修改用户注册表信息以包含所需的应用程序。

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

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