从CMD检测命令行应用程序而不会弄乱PATH变量或System32/SysWow64目录

Ele*_*ios 3 windows registry cmd windows-shell windows-8

脚本

我想在外面的文件夹上安装x86 CommandLine应用程序,C:\Windows\System32或者C:\Windows\Syswow64仍然可以在CMD下访问我的应用程序,而无需在PATH环境变量中添加我的应用程序路径.

这可能吗?也许触摸所需的注册表项?

注意:我知道如何将我的应用程序添加到PATH变量/ regvalue或如何从CMD访问我的应用程序,将所需的.exe放在System32/ SysWow64文件夹中.这个问题只是为了学习替代方案,而不是解决问题PATH系统目的.

我试着从@Sertac Akyuz在评论这一建议的方法这个答案,我已存储MyApp.exeC:\根目录下,但我不能检测应用程序只是把MyApp.exe在CMD下.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\MyApp.exe]
@="C:\\MyApp.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\App Paths\MyApp.exe]
@="C:\\MyApp.exe"

[HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\App Paths\MyApp.exe]
@="C:\\MyApp.exe"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\App Paths\MyApp.exe]
@="C:\\MyApp.exe"
Run Code Online (Sandbox Code Playgroud)

vit*_*ter 5

App Paths注册表设置 - 由Windows资源管理器用于在"运行..."框中键入程序名称时查找程序,依此类推.这些设置不会影响cmd.exe行为.

设置cmd.exe搜索应用程序的路径的唯一方法更改PATH环境变量.您可以cmd.exe从您自己.bat/ .cmd您为当前会话设置所有必需变量的位置开始,而不是全局更改它.