今天一上午什么有用的事都没干,光折腾这个事了。被HP OVCM Agent偷偷装了个更新后要求重启,重启之后所有.bat文件就都不能执行了。双击BAT文件只会打开Notepad。
在控制面板里看文件关联,.bat文件确实被关联到了Notepad上。去同事的电脑上看,.bat的文件关联显示的是Unknown application,实际上就是什么都不关联。
试图把指向Notepad的关联关系删除,但是控制面板里只提供了”定义一个新的关联关系”和”在多个已定义的关联关系中切换”的功能,而不能”删除一个已定义的关联关系”。
在网上搜了一圈,又在注册表里翻了一通,找到一些解决方法:把HKEY_CLASSES_ROOT\.bat下的Default值重置为batfile;把HKEY_CLASSES_ROOT\batfile\shell\open\command下的Default值重置为”%1″ %*。
这些修改对我遇到的问题而言都不适用,因为我的注册表里,这两个地方本来就是上面所说的值。
然后给IT Service Desk打电话,对方一声不吭地搜了半天knowledge base,然后告诉我他需要找找资料再答复我。
没办法,只能自己解决了。没想到这回却是山穷水尽疑无路,一枝红杏出墙来。我在注册表里搜索.bat,找到一个很可疑的地方。在与同事的系统对比之后,删除了一个键和两个字符串值,重启系统,问题就解决了。
具体的操作步骤是:
- 首先在注册表编辑器里打开如下位置:
HKEY_USERS\<USERID>\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.batHKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat
- 然后删除OpenWithList和OpenWithProgid以外的所有键
- 再打开OpenWithList键,删除Default和MRUList以外的所有值
- 检查Default和MRUList两个值,应该分别是空字符串和字符串ba
- 打开OpenWithProgid,删除Default和batfile以外的所有值
- 检查Default和batfile的值,应该分别是空字符串和空二进制值
- 重启之后,控制面板里应该可以看到.bat的关联被重置为Unknown application了,.bat文件也应该可以直接执行了。



看不懂什么意思,不过觉得挺牛。比客服都强。