Windows7修复bat文件关联记录-都是tortoiseSVN惹得祸

使用TortoiseSVN 提交文件的时候,有一个bat文件,想用记事本打开,选择打开方式,用记事本打开,如图

以后bat文件 双击直接变成记事本了,网上说的关联修复根本不管作用,因为注册表 batfile和.bat即使删除了
这个文件关联也不发生变化,说明,文件关联的注册表项目不在HKEY_CLASSES_ROOT 跟下,而是在别的地方。

怎么知道究竟是哪里的问题呢?
新建立一个用户,然后测试 test.bat 是否正常,结果:正常。
注销,切换回原来的用户。

进入c:\Users\新用户\ 对 NTUSER.DAT 文件执行以下操作 【&RegFile 转换为 reg文件】

cmd /k reg load HKLM\1_%FileNames% %FileNames% & reg Export HKLM\1_%FileNames% 1_%FileNames%.reg & reg unload HKLM\1_%FileNames% & cmd /k

 

对%FileNames% 进行替换即可,因为我是用的是Open++,设置的很方便。

结果导出一个reg文件:1_NTUSER.DAT.reg

打开搜索.bat

 

[HKEY_LOCAL_MACHINE\1_NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]
[HKEY_LOCAL_MACHINE\1_NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\OpenWithList]
[HKEY_LOCAL_MACHINE\1_NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\OpenWithProgids]
"batfile"=hex(0):

[HKEY_LOCAL_MACHINE\1_NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt]
[HKEY_LOCAL_MACHINE\1_NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithList]
"a"="notepad++.exe"
"MRUList"="a"
[HKEY_LOCAL_MACHINE\1_NTUSER.DAT\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.txt\OpenWithProgids]
"Notepad++_file"=hex(0):

 


看到没,这就是用户的文件管理 注册表地址。而非前面的在HKEY_CLASSES_ROOT,在HKEY_CLASSES_ROOT是系统全局的注册表项
用户的就被加载到了其他的地方。而这里的注册表才是管用,所以换了用户,注册表项被重新从 NTUSER.DAT 加载到注册表,结果就不一样了。

好了,知道了问题在哪里,进入自己的注册表的这个位置,将这个注册表项 删除或修改成上面的样子,然后 确认 系统注册表ROOT下的文件关联是正确的:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\.bat]
@="batfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]
@="\"%1\" %*"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
00

 

这样,bat文件就恢复了关联。

顺便把 有问题的bat贴上来:

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]
"a"="NOTEPAD.EXE"
"MRUList"="cab"
"b"="DEPENDS 1.0.EXE"
"c"="WinRAR.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\OpenWithProgids]
"batfile"=hex(0):
"cmdfile"=hex(0):
"bat_auto_file"=hex(0):

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat\UserChoice]
"Progid"="Applications\\cmd.exe"

上面的可是有问题的哦   userChoice变成了cmd 怪不得 一直打开都不是bat,而是程序

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值