我使用 chocolatey 安装了 Cmder:https://chocolatey.org/packages/Cmder
并且我希望在上下文菜单中有一个快捷方式来在当前目录中打开 cmder。我遵循了[官方 wiki]:
Windows Registry Editor Version 5.00 [HKEY_CLASSES_ROOT\Directory\Background\shell\Cmder] @="Open Cmder Here" "Icon"="\"%CMDER_ROOT%\\icons\\cmder.ico\",0" [HKEY_CLASSES_ROOT\Directory\Background\shell\Cmder\command] @="\"%CMDER_ROOT%\\Cmder.exe\" /START \"%v\""
(https://github.com/cmderdev/cmder/wiki/Context-menu-integration),但尽管启动 Cmder 的图标确实出现在上下文菜单中,但它会在消息框中抛出一个错误,提示如下:
Windows 无法访问指定的设备、路径或文件。您可能没有适当的权限来访问该项目。
Cmder 可执行文件的路径位于: C:\tools\Cmder\Cmder.exe
环境变量似乎没有问题(已设置setx CMDER_ROOT "C:\tools\Cmder"
):
echo %cmder_root%
C:\tools\Cmder
我真的不知道这里出了什么问题,有什么想法吗?
答案1
请使用这个 REG 文件:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\Cmder]
@="Open Cmder Here"
"Icon"=hex(2):22,00,25,00,43,00,4d,00,44,00,45,00,52,00,5f,00,52,00,4f,00,4f,\
00,54,00,25,00,5c,00,69,00,63,00,6f,00,6e,00,73,00,5c,00,63,00,6d,00,64,00,\
65,00,72,00,2e,00,69,00,63,00,6f,00,22,00,2c,00,30,00,00,00
[HKEY_CLASSES_ROOT\Directory\Background\shell\Cmder\command]
@=hex(2):22,00,25,00,43,00,4d,00,44,00,45,00,52,00,5f,00,52,00,4f,00,4f,00,54,\
00,25,00,5c,00,43,00,6d,00,64,00,65,00,72,00,2e,00,65,00,78,00,65,00,22,00,\
20,00,2f,00,53,00,54,00,41,00,52,00,54,00,20,00,22,00,25,00,76,00,22,00,00,\
00
答案2
我尝试按照建议的答案和搜索添加到注册表中。我无法让它工作。最后,在 Cmder wiki 上我偶然发现了答案: 在选定文件夹中打开 Cmder 的快捷方式
在选定文件夹中打开 Cmder 的快捷方式:
- 以管理员身份打开终端。
- 导航到您放置 Cmder 的目录。
- 执行
.\cmder.exe /REGISTER ALL
如果您收到“拒绝访问”消息,请确保您在管理员提示符下执行该命令。在文件资源管理器窗口中右键单击目录,即可在上下文菜单中看到“在此处命令”。
答案3
我遇到了同样的问题,我使用以下方法解决了清楚的路径(不引用环境变量),然后我就可以正常工作了。所以我的.reg
文件如下所示:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Directory\Background\shell\Cmder]
@="Open Cmder Here"
"Icon"="C:\\path\\to\\Cmder\\cmder.ico,0"
[HKEY_CLASSES_ROOT\Directory\Background\shell\Cmder\command]
@="\"C:\\path\\to\\Cmder\\Cmder.exe\" /START \"%v\""
“图标”路径表示文件“.ico”路径,后跟要使用的图标索引。
答案4
我使用 Easy Context Menu,添加 cmder.exe 并选择要显示的位置。我通过这种方式解决了。
https://www.sordum.org/7615/easy-context-menu-v1-6/
问候。