Windows 从CMD检测命令行应用程序,而不影响路径变量或System32/SysWow64 dir 脚本
我想在Windows 从CMD检测命令行应用程序,而不影响路径变量或System32/SysWow64 dir 脚本,windows,windows-8,cmd,registry,windows-shell,Windows,Windows 8,Cmd,Registry,Windows Shell,我想在C:\Windows\System32或C:\Windows\Syswow64之外的文件夹中安装x86命令行应用程序,并且仍然能够在CMD下访问我的应用程序,而无需在path环境变量中添加我的应用程序路径 问题: 这可能吗?也许触摸一个需要的注册表项 注意:我知道如何将我的应用程序添加到PATHvariable/regvalue中,或者如何从CMD将所需的.exe放入System32/SysWow64文件夹中访问我的应用程序。这个问题只是为了学习备选方案,而不是解决路径或系统目录的问题 代
C:\Windows\System32
或C:\Windows\Syswow64
之外的文件夹中安装x86命令行应用程序,并且仍然能够在CMD下访问我的应用程序,而无需在path
环境变量中添加我的应用程序路径
问题:
这可能吗?也许触摸一个需要的注册表项
注意:我知道如何将我的应用程序添加到PATH
variable/regvalue中,或者如何从CMD将所需的.exe放入System32
/SysWow64
文件夹中访问我的应用程序。这个问题只是为了学习备选方案,而不是解决路径
或系统目录的问题
代码
我从@Sertac Akyuz的评论中尝试了这种建议的方法,我已经将MyApp.exe
存储在C:\
根目录下,但我无法检测到应用程序只是将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"
应用程序路径
注册表设置-由Windows资源管理器使用,用于在“运行…”框中键入程序名时定位程序,依此类推。这些设置不会影响cmd.exe
行为
为搜索应用程序设置
cmd.exe
路径的唯一方法是更改PATH
环境变量。您可以从自己的.bat
/.cmd
启动cmd.exe
,在这里设置当前会话所需的所有变量,而无需全局更改。应用程序路径不适用于命令提示。但你可以用应用程序路径注册表作弊。您可以为cmd.exe
本身创建一个条目,并在其中创建路径
键值和应用程序的路径。然后,将此键值的路径附加到应用程序的环境变量(在本例中为命令提示符)。仅供参考:cmd.exe不使用App Path,但其他shell使用App Path,例如tcc.exe:如果要从命令行运行包含在App Path
中的应用程序,您需要使用启动MyApp
。我发现这个问题有点奇怪,因为我不明白您想要解决的确切问题。您只希望命令可以从任何CMD提示符运行,但不改变路径?有很多方法。第一个:提供可执行文件的完整路径。若你们不想改变方向,你们还期望什么?也许可以检查一下是否可以使用别名(类似于Linux/Unix)。或者快捷方式、脚本。。。