.regファイルを使用してWindowsファイルの関連付けを削除する


12

質問:.regファイルを使用して、ファイルタイプの関連付けを完全に削除するにはどうすればよいですか?たとえば、削除を試みましたHKEY_CLASSES_ROOT\myextension_auto_fileが、それでは明らかに不十分です。

背景:Windows Vistaには、常にいくつかのパラメーターを渡す必要がある別のアプリケーションにファイルタイプを正常に関連付ける.regファイルがあります(そのため、右クリックでの関連付けだけでは不十分でした。.reg fileを参照してください)。ただし、何らかの理由で.regファイルは以前に関連付けられていなかったファイル拡張子でのみ機能するため、特定のファイルタイプの関連付けを最初に削除するためのコマンドを追加したいと考えています。

回答:


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]

ただし、レジストリ内部およびWindowsファイルの関連付けのさまざまな難解な側面について自分自身を教育する必要がない場合は、既定のプログラムエディターを使用してこれらの変更を行うことをお勧めします- アクションをエクスポートすることもできます.regファイル。ニーズに完全に適合するようです。

デフォルトのプログラムエディターは拡張子を削除し、.regファイルとして保存します

あなたの場合、をクリックしてFile Type SettingsからをクリックするだけDelete an extensionです。拡張機能を選択し、レジストリに保存する代わりに、Delete Extensionボタンの小さな矢印を押して、をクリックしますSave to .reg file...。これにより、このアクションの完全なコメント付きの.regファイルが作成され、保存したり、他のマシンに配布したりできます。


1
なんて素晴らしい、よく説明された答えでしょう。Factor Mysticに感謝します-これは魅力のようです!
フィリップレンズセン2009年

1
既定のプログラムエディターの場合は+1。いくつかの回答で言及しましたが、最初にここで見つけました。はるかに簡単で、インストールするユーティリティであるにもかかわらず、非常に仕事に集中しています。
グッドアイ

3

この質問には疑わしい多くの仮定があるようです。

まず、なぜ.regファイルを使用してファイルの関連付けを削除するのですか?なぜユーザーインターフェースからそれをしないのですか?これを多くのワークステーションで実行していますか?

第二に、リンクした.regファイルが以前に関連付けられていないファイル拡張子でのみ機能する理由がわかりません。

とにかく、.regファイルを使用してキーを削除するには、キー名の前にハイフンを付けます。値を削除するには、ハイフン記号に設定します。ここにすべて綴りまし

ファイルの関連付けを削除するには、ファイル拡張子のキーを削除する必要があります。例えば

[-HKEY_CLASSES_ROOT\.dat]

これだけではファイルを開くことができませんが、完全を期すために、ファイル名キーのデフォルト値であるタイプ名のキーも削除する必要があります。例:

[-HKEY_CLASSES_ROOT\dat_auto_file]

イタドックありがとうございます。はい、理想的には、結果を配布する可能性があるため、.regファイルを介してそれを検討しています(これは、ローカルホスト+サーバーで実行されているChromeアプリのショートカット/ Ajaxベースのテキストエディタです)。参考までに、あなたのソリューションは協会の痕跡を残しているようですが、Factor Mysticはそれを解決しました。
フィリップレンズセン2009年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.