从CMD中检测命令行应用程序,而不会弄乱PATHvariables或System32 / SysWow64目录

脚本

我想在C:\Windows\System32C:\Windows\Syswow64之外的文件夹上安装x86 CommandLine应用程序,并且仍然能够在CMD下访问我的应用程序,而无需在PATH环境variables中添加我的应用程序的path。

这可能吗? 也许触摸一个需要的registry项?

注:我知道如何将我的应用程序添加到PATHvariables/ regvalue或如何从CMD访问我的应用程序将所需的.exe放在System32 / SysWow64文件夹中。 这个问题只是为了学习其他select,而不是解决PATHSystem dirs的问题。

我已经尝试了这个build议的方法从@Sertac Akyuz评论在这个答案 ,我已经存储在C:\根目录的MyApp.exe ,但我无法检测到应用程序只是把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" 

Solutions Collecting From Web of "从CMD中检测命令行应用程序,而不会弄乱PATHvariables或System32 / SysWow64目录"

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

为搜索应用程序设置cmd.exe路径的唯一方法更改PATH环境变量。 您可以从您自己的.bat / .cmd中启动cmd.exe ,您可以在其中为当前会话设置所有必需的变量,而不必在全局范围内进行更改。