Löschen Sie die Windows-Dateizuordnung mithilfe der REG-Datei

12

Frage: Wie entferne ich mithilfe einer REG-Datei eine Dateitypzuordnung vollständig? Ich habe versucht zB zu löschen, HKEY_CLASSES_ROOT\myextension_auto_fileaber das ist anscheinend nicht genug.

Hintergrund: Unter Windows Vista habe ich eine .reg-Datei, die einen Dateityp erfolgreich mit einer anderen Anwendung verknüpft, für die immer einige Parameter übergeben werden müssen (weshalb das Zuordnen mit der rechten Maustaste nicht ausreicht; siehe .reg-Datei ). Da die .reg-Datei aus irgendeinem Grund nur mit zuvor nicht zugeordneten Dateierweiterungen funktioniert, möchte ich ihr einige Befehle hinzufügen, um zuerst eine bestimmte Dateitypzuordnung zu löschen.

Philipp Lenssen
quelle

Antworten:

18

Ich sehe, dass Sie HKEY_CLASSES_ROOTmit dieser Registrierungsdatei in der Frage schreiben . Dieser Bienenstock ist eine zusammengeführte Ansicht von HKEY_LOCAL_MACHINE\Software\Classesund HKEY_CURRENT_USER\Software\Classes.

Der Grund, warum Ihre Datei nur für zuvor nicht zugeordnete Dateien funktioniert, besteht darin, dass beim Schreiben eine HKEY_CLASSES_ROOT Umleitung zum entsprechenden Schlüssel erfolgt HKEY_LOCAL_MACHINE(die Struktur für Systemstandards und Einstellungen für alle Benutzer). Es tritt jedoch ein Problem auf, da die Dateizuordnungseinstellungen in HKEY_CURRENT_USER(die Einstellungen pro Benutzer enthalten) die Systemstandards überschreiben .

Wenn die Erweiterung von einer Zuordnung "Standardprogramme" gesteuert wird, werden die Dateizuordnungsinformationen in gespeichert HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\<.ext>. Sie können überprüfen, ob Ihre Nebenstelle diese Zuordnung hat, indem Sie prüfen, ob dieser Schlüssel vorhanden ist.

Sie können Ihre REGEN an der Arbeit für jede Datei, einschließlich der zuvor zugeordneten Dateien bearbeiten, indem sie für diese Tasten in Duplizieren beide HKEY_LOCAL_MACHINE und HKEY_CURRENT_USER. Ebenso können Sie die Zuordnung entfernen, indem Sie die entsprechenden Schlüssel in beiden Bienenstöcken (einschließlich des FileExtsSpeicherorts) löschen .

Eine funktionierende .reg-Datei zum Löschen einer Zuordnung für eine bestimmte Erweiterung sieht folgendermaßen aus (wodurch .blergZuordnungen gelöscht werden):

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]

Aber wenn Sie es vorziehen , nicht zu haben , sich auf Registry - Interna zu erziehen und zu den verschiedenen obskuren Aspekte der Windows - Dateizuordnung, würde ich empfehlen , dass Sie verwenden würde Default Programs Editor auf diese Änderungen- machen können Sie sogar eine Aktion exportieren Eine .reg-Datei, die perfekt zu Ihren Anforderungen passt.

Standardprogrammeditor löschen Erweiterung und speichern als .reg-Datei

In Ihrem Fall ist es so einfach wie das Klicken File Type Settings, dann Delete an extension. Wählen Sie die Erweiterung aus Delete Extension, und klicken Sie auf den kleinen Pfeil auf der Schaltfläche, anstatt in der Registrierung zu speichern , und klicken Sie auf Save to .reg file.... Dadurch wird eine vollständige und kommentierte REG-Datei dieser Aktion erstellt, die Sie speichern oder an andere Computer verteilen können.

Faktor Mystic
quelle
1
Was für eine großartige, gut erklärte Antwort. Vielen Dank, dass Sie Factor Mystic - das funktioniert wie ein Zauber!
Philipp Lenssen
1
+1 für Standardprogramm-Editor. In mehreren Antworten erwähnt, aber zuerst hier gefunden. Viel einfacher, und obwohl es ein zu installierendes Dienstprogramm ist, konzentriert es sich sehr auf seine Aufgabe.
Goodeye
3

Diese Frage scheint viele Annahmen zu enthalten, die fraglich sind.

Warum möchten Sie zunächst eine .reg-Datei verwenden, um die Dateizuordnung zu entfernen? Warum nicht einfach über die Benutzeroberfläche? Tun Sie dies auf vielen Workstations?

Zweitens verstehe ich nicht, warum die von Ihnen verknüpfte .reg-Datei nur mit zuvor nicht zugeordneten Dateierweiterungen funktioniert.

Um einen Schlüssel mithilfe einer REG-Datei zu löschen, müssen Sie dem Schlüsselnamen einen Bindestrich voranstellen. Um einen Wert zu entfernen, setzen Sie ihn auf Bindestrich. Alles buchstabiert hier .

Um eine Dateizuordnung zu entfernen, müssen Sie den Schlüssel für die Dateierweiterung löschen, z

[-HKEY_CLASSES_ROOT\.dat]

Dies allein würde verhindern, dass die Datei geöffnet wird. Der Vollständigkeit halber sollten Sie jedoch auch den Schlüssel für den Typnamen entfernen, der der Standardwert unter dem Dateierweiterungsschlüssel war. Beispiel:

[-HKEY_CLASSES_ROOT\dat_auto_file]
itsadok
quelle
Vielen Dank, Itsadok. Ja, im Idealfall möchte ich dies über eine .reg-Datei tun, da ich möglicherweise das Ergebnis verteilen möchte (dies ist ein auf Chrome App Shortcut / Ajax basierender Texteditor, der auf localhost + dem Server ausgeführt wird). Zu Ihrer Information, Ihre Lösung scheint einige Spuren der Assoziation zu hinterlassen, aber Factor Mystic hat sie gelöst.
Philipp Lenssen