问题:使用.reg文件,如何完全删除文件类型关联?我试过删除,HKEY_CLASSES_ROOT\myextension_auto_file
但这显然是不够的。
背景:在Windows Vista上,我有一个.reg文件,它成功地将文件类型与另一个总是需要传递一些参数的应用程序相关联(这就是为什么只是右键单击关联是不够的; 请参阅.reg文件)。但是,由于.reg文件由于某种原因仅适用于以前未关联的文件扩展名,因此我希望向其添加一些命令以首先删除给定的文件类型关联。
问题:使用.reg文件,如何完全删除文件类型关联?我试过删除,HKEY_CLASSES_ROOT\myextension_auto_file
但这显然是不够的。
背景:在Windows Vista上,我有一个.reg文件,它成功地将文件类型与另一个总是需要传递一些参数的应用程序相关联(这就是为什么只是右键单击关联是不够的; 请参阅.reg文件)。但是,由于.reg文件由于某种原因仅适用于以前未关联的文件扩展名,因此我希望向其添加一些命令以首先删除给定的文件类型关联。
Answers:
我看到你在问题中写HKEY_CLASSES_ROOT
了那个reg文件。这是蜂巢的合并视图HKEY_LOCAL_MACHINE\Software\Classes
和HKEY_CURRENT_USER\Software\Classes
。
您的文件仅适用于以前未关联的文件的原因是写入HKEY_CLASSES_ROOT
重定向到相应的键HKEY_LOCAL_MACHINE
(系统默认设置和所有用户设置的配置单元)。但是,您将遇到问题,因为HKEY_CURRENT_USER
(包含每个用户设置)中的文件关联设置会覆盖系统默认值。
此外,如果扩展名由“默认程序”关联控制,则存储文件关联信息HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\<.ext>
。您可以通过检查是否存在该密钥来检查您的分机是否具有此关联。
您可以编辑的.reg为任何文件,包括以前相关的文件工作,通过复制它在这些键都 HKEY_LOCAL_MACHINE
和HKEY_CURRENT_USER
。同样,您可以通过删除两个配置单元中的相应键(包括FileExts
位置)来删除关联。
用于删除特定扩展的关联的工作.reg文件如下所示(删除关联.blerg
):
Windows Registry Editor Version 5.00
; Created with Default Programs Editor
; http://defaultprogramseditor.com/
; Delete Extension
[-HKEY_LOCAL_MACHINE\Software\Classes\.blerg]
[-HKEY_CURRENT_USER\Software\Classes\.blerg]
[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.blerg]
但是,如果您不想在注册表内部和Windows文件关联的各种神秘方面进行自我教育,我建议您使用默认程序编辑器进行这些更改 - 您甚至可以将操作导出到一个.reg文件,它似乎完全符合您的需求。
在你的情况下,只需要点击一样简单File Type Settings
,然后Delete an extension
。选择扩展名,而不是保存到注册表,按下Delete Extension
按钮上的小箭头,然后单击Save to .reg file...
。这将生成此操作的完整且注释的.reg文件,您可以将其保存或分发到其他计算机。
这个问题似乎有很多值得怀疑的假设。
首先,为什么要使用.reg文件来删除文件关联?为什么不从用户界面进行操作?你是在多个工作站做这个吗?
其次,我不明白为什么你链接到的.reg文件只能用于以前没有关联的文件扩展名。
无论如何,要使用.reg文件删除密钥,请将连字符添加到密钥名称前面。要删除值,请将其设置为连字符号。这一切都拼写在这里。
要删除文件关联,您需要删除文件扩展名的密钥,例如
[-HKEY_CLASSES_ROOT\.dat]
仅此一项将阻止文件被打开,但为了完整性,您还应删除类型名称的键,这是文件扩展名键下的默认值。例:
[-HKEY_CLASSES_ROOT\dat_auto_file]