Hapus asosiasi file Windows menggunakan file .reg

12

Pertanyaan: Menggunakan file .reg, bagaimana cara saya menghapus asosiasi tipe file sepenuhnya? Saya mencoba misalnya menghapus HKEY_CLASSES_ROOT\myextension_auto_filetetapi ternyata itu tidak cukup.

Latar Belakang: Pada Windows Vista, saya memiliki file .reg yang berhasil mengaitkan jenis file dengan aplikasi lain yang selalu memerlukan beberapa parameter yang disahkan (itulah sebabnya pengaitan klik kanan tidak cukup; lihat file .reg ). Namun, karena file .reg untuk beberapa alasan hanya berfungsi dengan ekstensi file yang sebelumnya tidak terkait, saya mencari untuk menambahkan beberapa perintah padanya untuk terlebih dahulu menghapus asosiasi tipe file yang diberikan.

Philipp Lenssen
sumber

Jawaban:

18

Saya melihat Anda menulis HKEY_CLASSES_ROOTdengan file reg dalam pertanyaan. Sarang ini adalah pandangan gabungan dari HKEY_LOCAL_MACHINE\Software\Classesdan HKEY_CURRENT_USER\Software\Classes.

Alasan file Anda hanya berfungsi untuk file yang sebelumnya tidak terkait adalah menulis untuk HKEY_CLASSES_ROOT mengarahkan ulang ke kunci yang sesuai di HKEY_LOCAL_MACHINE(sarang untuk default sistem dan pengaturan semua pengguna). Namun, Anda akan mengalami masalah karena pengaturan asosiasi file di HKEY_CURRENT_USER(yang berisi pengaturan per-pengguna) mengesampingkan standar sistem.

Selain itu, jika ekstensi dikendalikan oleh asosiasi "program default", itu informasi asosiasi file disimpan di HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\<.ext>. Anda dapat memeriksa apakah ekstensi Anda memiliki kaitan ini dengan memeriksa keberadaan kunci itu.

Anda dapat mengedit .reg agar berfungsi untuk file apa pun, termasuk file yang terkait sebelumnya, dengan menduplikatnya untuk kunci-kunci tersebut di kedua HKEY_LOCAL_MACHINE dan HKEY_CURRENT_USER. Demikian pula, Anda dapat menghapus pengaitan dengan menghapus kunci yang sesuai di kedua sarang (termasuk FileExtslokasi).

File .reg yang berfungsi untuk menghapus asosiasi untuk ekstensi tertentu terlihat seperti ini (yang menghapus .blergasosiasi):

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]

Namun , jika Anda memilih untuk tidak harus mendidik diri sendiri tentang internal registri dan berbagai aspek misterius dari asosiasi file Windows, saya sarankan Anda menggunakan Default Programs Editor untuk melakukan perubahan ini - Anda bahkan dapat mengekspor tindakan ke file .reg, yang tampaknya sesuai dengan kebutuhan Anda dengan sempurna.

Editor Program Default menghapus ekstensi dan menyimpan sebagai file .reg

Dalam kasus Anda, itu sesederhana mengklik File Type Settings, lalu Delete an extension. Pilih ekstensi, dan alih-alih menyimpan ke registri, tekan panah kecil pada Delete Extensiontombol, dan klik Save to .reg file.... Ini akan menghasilkan file .reg yang lengkap dan dikomentari dari tindakan ini yang dapat Anda simpan atau distribusikan ke mesin lain.

Faktor Mystic
sumber
1
Sungguh jawaban yang hebat dan luar biasa. Terima kasih Factor Mystic - ini bekerja seperti pesona!
Philipp Lenssen
1
+1 untuk Editor Program Default. Disebutkan dalam beberapa jawaban, tetapi menemukannya di sini dulu. Jauh lebih sederhana, dan meskipun itu adalah utilitas untuk menginstal, itu sangat fokus pada tugasnya.
selamat tinggal
3

Pertanyaan ini sepertinya memiliki banyak asumsi di dalamnya yang patut dipertanyakan.

Pertama, mengapa Anda ingin menggunakan file .reg untuk menghapus asosiasi file? Mengapa tidak lakukan saja dari antarmuka pengguna? Apakah Anda melakukan ini di banyak workstation?

Kedua, saya gagal melihat mengapa file .reg yang Anda tautkan hanya berfungsi dengan ekstensi file yang sebelumnya tidak terkait.

Bagaimanapun, untuk menghapus kunci menggunakan file .reg, Anda awali tanda hubung ke nama kunci. Untuk menghapus nilai, Anda mengaturnya ke tanda hubung. Semuanya dieja di sini .

Untuk menghapus asosiasi file, Anda perlu menghapus kunci untuk ekstensi file, mis

[-HKEY_CLASSES_ROOT\.dat]

Ini saja akan mencegah file dibuka, tetapi untuk kelengkapan Anda juga harus menghapus kunci untuk nama jenis, yang merupakan nilai default di bawah kunci ekstensi file. Contoh:

[-HKEY_CLASSES_ROOT\dat_auto_file]
itsadok
sumber
Itsadok terima kasih. Ya, idealnya saya mencari untuk melakukannya melalui file .reg karena saya mungkin ingin mendistribusikan hasilnya (yang merupakan editor teks Shortcut / Ajax berbasis Aplikasi Chrome berjalan di localhost + server). FYI solusi Anda tampaknya meninggalkan beberapa jejak asosiasi, tetapi Factor Mystic menyelesaikannya.
Philipp Lenssen