如何让BAT与EXE关联

如何让BAT与EXE关联,第1张

分类: 电脑/网络 >>程序设计 >>其他编程语言

问题描述:

如何使BAT和特定的EXE文件关联,让EXE运行时相应的BAT能运行??

可以吗??

解析:

用文本编辑器编辑那个 bat 文件 ...

在里面加入 exe 的路径和文件名就可以了 ...

请看代码:

@ECHO OFF

TITLE 修改关联神器 - 控盘惨原创

COLOR A

:File

SET /P "Pro=请输入需要关联的程序全路径(注意一定是绝对路径):"

IF NOT EXIST "%Pro%" msg * 文件不存在! &cls &goto File

CLS

SET /P "Ext=请输入需要关联的文件扩展名(扩展名请直接输入,比如说你要关联的扩展名是txt,就不要写成.txt或*.txt这样的格式.只要写txt在这里就行了):"

::

reg.exe ADD "HKEY_CLASSES_ROOT\.%Ext%" /VE /D "%Ext%File" /F>NUL

reg.exe ADD "HKEY_CLASSES_ROOT\%Ext%File\Shell\Open\Command" /VE /D "%Pro%" /F>NUL

::

CLS

ECHO 关联成功!系统已保存设置:使用%Pro%打开所有%Ext%格式的文件.

PAUSE>NUL

Win7系统中bat 后缀文件关联程序恢复

转载

                                                                       

                                                                   xingpacer

                   最后发布于2017-03-30 11:56:53                    

                   阅读数 2912

                   

                       收藏                    

             

展开

                                 

本文的方法有效,本人遇到类似的问题,亲测通过!

今天在使用EditPlus打开bat处理文件时,修改文件内容保存后,bat批处理文件都关联上EditPlus,即默认使用EditPlus打开,不再直接运行bat文件了。这样太麻烦了,每次运行bat时都要实现打开一个cmd窗口,然后将bat拖进去,太麻烦了。想修改回来,不再关联EditPlus。但是便不是那么容易,可能是bat文件比较敏感,不像一般的文件类型那么好处理,废了好大的劲才搜索到解决办法,现将经过实测的方法给出来(别人提供的方法)。之前尝试在bat文件右键中选择“打开方式”->“选择默认程序”,找到cmd的路径选中cmd.exe,但是不能勾选“始终使用选择的程序打开这种文件”,所以不能通过该方法奖bat文件关联上cmd.exe。可能是bat文件比较敏感,系统控制的比较严,不允许设置默认打开程序。(虚线下面的就是别人的文章了)

-------------------------------------------------------------------------------------------------------------------------------------------------------------------

自己的win7系统下,由于一时不小心,将.bat类型的文件默认关联用UltraEdit程序打开。这样导致每次双击.bat类型的文件,都是自动用UE去打开查看而并不是之前默认的运行(方式类似双击.exe后缀文件)。网上查了一下,发现这个问题的解决方案很少是有效的。综合搜索的结果,下面的方法是自己成功过的:

1. 打开注册表,确认下面的值,如果不是,那么请修改成下面的值:

注:在开始-〉运行里面输入regedit然后回车

[HKEY_CLASSES_ROOT\.bat]

@="batfile"

[HKEY_CLASSES_ROOT\.bat\PersistentHandler]

@="{5e941d80-bf96-11cd-b579-08002b30bfeb}"

2. 编辑注册表下面的内容

下面的内容参考这里。

找到下面路径中的.bat:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat

2.1 然后删除OpenWithList和OpenWithProgid以外的所有键

2.2 再打开OpenWithList键,删除Default和MRUList以外的所有值

2.3 检查Default和MRUList两个值,应该分别是空字符串和字符串ba

2.4 打开OpenWithProgid,删除Default和batfile以外的所有值

2.5 检查Default和batfile的值,应该分别是空字符串和空二进制值

2.6 将下面的内容拷贝到一个新建的txt,保存后将后缀改为.reg并双击执行

[cpp] view plain copy

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\OpenWithList]

"MRUList"="ba"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\OpenWithProgids]

"batfile"=hex(0): 

重启之后,控制面板里应该可以看到.bat的关联被重置为Unknown application了,.bat文件也应该可以直接执行了。

(本文完)

试了很多答案,只有这个可行

网页链接参考链接


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11474531.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存