我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...

在先前的cmder相关文章中,苏南大叔向大家讲述了:如何让cmder支持在地址栏里调用的小技巧,这个功能实现上不能说太优雅,而且,还存在着个小问题,按着上文修改过的cmder,使用系统右键的时候,会出现问题。所以,苏南大叔,又做了另外一个不太优雅的补丁,来修复这个问题。

苏南大叔:cmder进阶:如何同时支持地址栏调用和右键快捷菜单调用 - cmder-地址栏和右键快捷菜单
cmder进阶:如何同时支持地址栏调用和右键快捷菜单调用(图5-1)

本文的主要描述内容是:如何简易地修改cmder,使cmder同时支持在地址栏和右键菜单中被快捷调用。

症状截图

苏南大叔:cmder进阶:如何同时支持地址栏调用和右键快捷菜单调用 - 00
cmder进阶:如何同时支持地址栏调用和右键快捷菜单调用(图5-2)

苏南大叔:cmder进阶:如何同时支持地址栏调用和右键快捷菜单调用 - 01
cmder进阶:如何同时支持地址栏调用和右键快捷菜单调用(图5-3)

这个cmder右键调用出错的根本原因在于:苏南大叔为了让cmder支持地址栏快捷调用,而修改了主程序的名字。而修改了主程序的名字的原因就是:cmder.exe 没能正确识别传递过来的当前路径。

不太优雅的补丁

其实上一个cmder的bat补丁就蛮不优雅的,但是却是官方issue里面一致好评的最佳解决方案。所以,这里也就不妨再来另外一个更加不优雅的补丁吧。

本补丁前提:Cmder.exe已经被改名为:Cmder2.exe。在cmder的目录下面,新建一个cmder2.bat的文件,内容如下:

cmder2 %1

或者更加明确无歧义的写成:

Cmder2.exe %1

再修改一下注册表里面的相关项目:

HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\background\shell\Cmder
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\shell\Cmder

修改的方法见下图:

苏南大叔:cmder进阶:如何同时支持地址栏调用和右键快捷菜单调用 - 03
cmder进阶:如何同时支持地址栏调用和右键快捷菜单调用(图5-4)

原理就是:在使用者的右键动作和cmder.exe之间插入一个cmder2.bat的中间过程,它再传递当前路径变量%1到exe中。苏南大叔还是建议您:等待cmder官方解决这个bug,才是更好的途径。或者您翻翻cmder的源码,修复这个bug,应该也不是太难。

bat对比

下面给出两个bat的对比截图,都蛮不优雅的。哈哈~

苏南大叔:cmder进阶:如何同时支持地址栏调用和右键快捷菜单调用 - 04
cmder进阶:如何同时支持地址栏调用和右键快捷菜单调用(图5-5)

关联文章

在阅读本文的时候,如果碰到一些难以理解的问题的话,您不妨先看看下面这篇苏南大叔的经验文章。

总结

cmder使用起来确实蛮方便的,但毕竟不是系统集成的软件,所以在某些情况下,cmd也许还是更加轻便的选择。更加cmder的经验文章,请点击这里查看: https://newsn.net/tag/cmder/

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。

 【福利】 腾讯云最新爆款活动!1核2G云服务器首年50元!

 【源码】本文代码片段及相关软件,请点此获取更多信息

 【绝密】秘籍文章入口,仅传授于有缘之人   cmder    bat