使用 .reg 文件删除 Windows 文件关联

Phi*_*sen 12 windows-registry windows-vista file-association

问题:使用 .reg 文件,如何完全删除文件类型关联?我尝试过例如删除,HKEY_CLASSES_ROOT\myextension_auto_file但这显然还不够。

背景:在 Windows Vista 上,我有一个 .reg 文件,它成功地将文件类型与另一个总是需要传递一些参数的应用程序相关联(这就是为什么仅右键单击关联是不够的;请参阅 .reg 文件)。但是,由于 .reg 文件出于某种原因仅适用于以前未关联的文件扩展名,因此我希望向其添加一些命令以首先删除给定的文件类型关联。

Fac*_*tic 18

我看到您正在HKEY_CLASSES_ROOT使用问题中的那个 reg 文件写信。这是蜂巢的合并视图HKEY_LOCAL_MACHINE\Software\ClassesHKEY_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_MACHINEHKEY_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]
Run Code Online (Sandbox Code Playgroud)

但是,如果您不想自学注册表内部和 Windows 文件关联的各种神秘方面,我建议您使用默认程序编辑器进行这些更改 - 您甚至可以将操作导出到一个 .reg 文件,它似乎完全符合您的需求。

默认程序编辑器删除扩展名并另存为 .reg 文件

在您的情况下,只需单击File Type Settings,然后单击Delete an extension。选择扩展名,而不是保存到注册表,而是按Delete Extension按钮上的小箭头,然后单击Save to .reg file...。这将生成此操作的完整且带注释的 .reg 文件,您可以将其保存或分发到其他机器。