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

标签 windows windows-8 cmd registry windows-shell

场景

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

问题

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

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

代码

我已经从@Sertac Akyuz 在 this answer 的评论中尝试了这个建议的方法,我把MyApp.exe存放在C:\根目录下,但是我检测不到只是把MyApp.exe放在命令。

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"

最佳答案

App Paths 注册表设置 - 由 Windows Explorer 使用,当您在“运行...”框中键入程序名称时定位程序,等等。这些设置不会影响 cmd.exe 行为。

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

关于windows - 从 CMD 检测命令行应用程序,而不会弄乱 PATH 变量或 System32/SysWow64 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27179818/

相关文章:

css - IE10 和 11 桌面的视口(viewport),但不是移动设备

batch-file - Windows 批处理 (cmd.exe) 命令行参数和字符串操作

windows - 由于源文件名是动态的,如何在 xcopy 中使用变量?

c# - Windows 10 UAP 后退按钮

windows - 为文件夹而不是特定文件类型注册缩略图处理程序

windows - pidgin "buddy list"窗口的行为名称是什么?

javascript - 使用脚本从 JS 文件中删除文本

c - 什么库/如何在 C 中的 Windows32 上播放 wav 文件?

JAVA_HOME 在 Windows 8 上未设置

windows - Windows 8 通过电话号码搜索联系人