如何通过注册表为文本右键菜单添加调用批处理文件的功能
如何通过注册表为文本右键菜单添加调用批处理文件的功能
嘿,我完全get到你的需求了——就是要给选中文本时弹出的右键菜单加个自定义选项,点一下就能把选中的文本复制到剪贴板,再自动调用你写好的批处理文件,而且这个选项绝对不能出现在文件夹或者单个文件的右键菜单里,对吧?下面就一步步帮你搞定注册表的配置:
第一步:打开注册表编辑器
按下Win + R组合键,输入regedit,回车打开注册表编辑器(注意:修改注册表前建议先备份一下,避免误操作出问题)。
第二步:定位到文本右键菜单的专属注册表分支
导航到以下路径(这是专门负责文本内容右键菜单的分支,能确保我们的选项只在选中文本时显示,不会混到文件夹/文件的右键菜单里):
HKEY_CURRENT_USER\Software\Classes\Text\shell
如果Text或者shell分支不存在,你可以右键对应的父项,选择「新建」→「项」,依次创建这两个分支即可。
第三步:创建自定义菜单的主项
在shell分支下,右键选择「新建」→「项」,把这个新项命名为My Title Copy and Do batch file(这是菜单的后台标识名,也可以改成更简洁的,比如RunBatchWithSelectedText,不影响前端显示)。
- 双击这个新项的「默认」值,输入你想在右键菜单里看到的友好名称,比如
复制文本并运行批处理,这样用户右键时看到的就是这个清晰的选项名了。
第四步:创建命令执行子项
右键刚才新建的菜单主项,选择「新建」→「项」,必须命名为command(这个名称是系统识别的固定规则,用来指定点击菜单后执行的具体命令)。
- 双击
command项的「默认」值,输入以下命令(记得把路径替换成你自己的批处理文件实际路径):
简单解释下这个命令:cmd /c "echo %~1 | clip && call "C:\你的批处理文件路径\your_script.bat""echo %~1 | clip:把选中的文本内容(%~1是系统自动传递的选中文本参数)复制到剪贴板call "C:\你的批处理文件路径\your_script.bat":调用你的批处理文件,此时批处理里就能用%clipboard%获取到刚才复制的文本内容了
第五步:测试功能
关闭注册表编辑器,随便找一段文本(比如记事本、网页里的内容)选中它,右键点击,就能看到你刚才设置的菜单选项了!点击它,批处理就会自动调用并处理剪贴板里的文本啦。
如果你的批处理文件路径里包含空格,一定要用双引号把路径括起来,避免命令执行出错哦。
备注:内容来源于stack exchange,提问作者ejbytes
相关产品推荐
相关产品推荐

