在不带PATH变量的cmd中的任何位置运行.exe

AAN*_*EVA 4 cmd path-variables exe

这有效(Notepad ++):

C:\Anywhere> start notepad++ hello.txt
Run Code Online (Sandbox Code Playgroud)

这可行(SoX消除了声音的静音):

C:\Anywhere> sox in.wav out1.wav silence 1 0.1 1%
Run Code Online (Sandbox Code Playgroud)

但是,我的PATH变量都不包含(将根据请求发送)。

如何使用我的程序执行此操作?
从无处不在。

另外,如果没有该start命令,Notepad ++为什么不起作用?

(我通过将.exe放在C:\中,然后简单地调用了此变通方法,C:\Anywhere> /myprogram但我仍然对上述内容感到好奇。)

MC *_* ND 6

要获得指示的方案,其中

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

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

HKEY_CLASSES_ROOT\Applications
Run Code Online (Sandbox Code Playgroud)

注意:这是一个“合并”视图,显示了

HKEY_LOCAL_MACHINE\Software\Classes\Applications
HKEY_CURRENT_USER\Software\Classes\Applications
Run Code Online (Sandbox Code Playgroud)

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

编辑注册表中的第二个位置,它将允许在应用程序中包含应用程序,该应用程序可以使用start命令,Run对话框或使用ShellExecuteShellExecuteExAPI调用的任何内容执行。

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\
Run Code Online (Sandbox Code Playgroud)