如何设置回车键(ENTER)调用自定义批处理文件,替代视频文件默认打开行为
如何设置回车键(ENTER)调用自定义批处理文件,替代视频文件默认打开行为
我完全懂你的需求——就是想在资源管理器里选中视频文件按回车时,先让批处理把文件名记录到日志里,再用系统默认播放器打开视频,而不是直接启动播放器对吧?之前改注册表的思路方向对,但没找对地方,咱们来一步步搞定这个问题。
第一步:先确保你的批处理文件没问题
首先得把批处理写对,不然注册表改对了也白搭。比如你的GomPlayer LOG.bat可以改成这样:
@echo off rem 把播放的视频文件名追加到日志文件,这里替换成你想要的日志路径 echo %~nx1 >> "D:\VideoPlayHistory.txt" rem 调用系统默认播放器打开当前视频文件,空引号是为了避免路径含空格时出错 start "" "%~1"
解释下:%~nx1会提取文件名+扩展名,避免把完整路径都写到日志里(如果想要完整路径就直接用%1);start ""是标准写法,能正确处理带空格的文件路径。
第二步:修改注册表替换默认打开行为
你之前添加的是右键菜单选项(shell\GomPlayerLOG),但按回车触发的是默认打开命令,也就是每个文件类型的shell\open\command项,咱们得改这个:
- 打开注册表编辑器:按
Win+R,输入regedit回车。 - 定位到目标视频格式的注册表项:比如要改MP4文件,先找
HKEY_CLASSES_ROOT\.mp4,看它的默认值(比如可能是MP4File),这是该格式对应的类名。 - 进入类名对应的
open命令项:比如刚才的MP4File,就去HKEY_CLASSES_ROOT\MP4File\shell\open\command。 - 备份原有设置:右键点击
command项,选择“导出”,存成一个.reg文件,方便后续恢复。 - 修改默认值:双击
(默认),把值改成你的批处理路径,比如:
注意路径和参数都要加引号,防止路径里有空格导致出错。"D:\Programas\GomPlayer LOG.bat" "%1"
第三步:批量应用到所有视频格式
如果想让所有视频格式都生效,重复上面的步骤,找到其他视频扩展名(比如.avi、.mkv、.mov等)对应的注册表项,修改它们的默认open命令即可。
测试验证
改完注册表后,选中一个视频文件按回车,应该会先在日志里新增一条记录,然后正常打开播放器。如果没生效,检查这几点:
- 批处理路径是否正确,有没有拼写错误
- 注册表的命令里引号是否配对
- 批处理里的
start命令是否写对(别漏了空引号)
备注:内容来源于stack exchange,提问作者Gabarito007
相关产品推荐
相关产品推荐

