Xóa liên kết tệp Windows bằng tệp .reg


12

Câu hỏi: Sử dụng tệp .reg, làm cách nào để xóa hoàn toàn liên kết loại tệp? Tôi đã cố gắng xóa ví dụ HKEY_CLASSES_ROOT\myextension_auto_filenhưng dường như không đủ.

Bối cảnh: Trên Windows Vista, tôi có một tệp .reg liên kết thành công một loại tệp với một ứng dụng khác luôn cần một số tham số được truyền (đó là lý do tại sao chỉ cần nhấp chuột phải - liên kết là không đủ; xem tệp .reg ). Tuy nhiên, vì tệp .reg vì một số lý do chỉ hoạt động với các phần mở rộng tệp chưa được liên kết trước đó, tôi đang tìm cách thêm một số lệnh vào trước để xóa liên kết loại tệp đã cho.

Câu trả lời:


18

Tôi thấy bạn đang viết cho HKEY_CLASSES_ROOTtập tin reg đó trong câu hỏi. Tổ ong này là một quan điểm hợp nhất của HKEY_LOCAL_MACHINE\Software\ClassesHKEY_CURRENT_USER\Software\Classes.

Lý do tệp của bạn chỉ hoạt động đối với các tệp chưa được liên kết trước đó là vì ghi để HKEY_CLASSES_ROOT chuyển hướng đến khóa thích hợp trong HKEY_LOCAL_MACHINE(tổ ong cho mặc định hệ thống và cài đặt cho tất cả người dùng). Tuy nhiên, bạn sẽ gặp sự cố vì cài đặt liên kết tệp trong HKEY_CURRENT_USER(chứa cài đặt theo người dùng) ghi đè mặc định của hệ thống.

Hơn nữa, nếu tiện ích mở rộng được kiểm soát bởi hiệp hội "chương trình mặc định", thông tin liên kết tệp của nó được lưu trữ trong HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\<.ext>. Bạn có thể kiểm tra xem tiện ích mở rộng của mình có liên kết này hay không bằng cách kiểm tra sự tồn tại của khóa đó.

Bạn có thể chỉnh sửa .reg của mình để hoạt động cho bất kỳ tệp nào, kể cả các tệp được liên kết trước đó, bằng cách sao chép nó cho các khóa đó trong cả hai HKEY_LOCAL_MACHINEHKEY_CURRENT_USER. Tương tự, bạn có thể xóa liên kết bằng cách xóa các phím thích hợp trong cả hai tổ ong (bao gồm cả FileExtsvị trí).

Một tệp .reg hoạt động để xóa liên kết cho một tiện ích mở rộng cụ thể trông như thế này (xóa .blergcác kết hợp):

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]

Tuy nhiên , nếu bạn không muốn phải tự học về nội dung đăng ký và các khía cạnh phức tạp khác nhau của liên kết tệp Windows, tôi khuyên bạn nên sử dụng Trình chỉnh sửa chương trình mặc định để thực hiện những thay đổi này - thậm chí bạn có thể xuất hành động sang một tập tin .reg, có vẻ phù hợp với nhu cầu của bạn một cách hoàn hảo.

Trình chỉnh sửa chương trình mặc định xóa phần mở rộng và lưu dưới dạng tệp .reg

Trong trường hợp của bạn, nó đơn giản như nhấp chuột File Type Settings, sau đó Delete an extension. Chọn tiện ích mở rộng và thay vì lưu vào sổ đăng ký, hãy nhấn mũi tên nhỏ trên Delete Extensionnút và nhấp Save to .reg file.... Điều này sẽ tạo ra một tệp .reg hoàn chỉnh và nhận xét về hành động này mà bạn có thể lưu hoặc phân phối cho các máy khác.


1
Thật là một câu trả lời tuyệt vời, được giải thích tốt. Cảm ơn Factor Mystic - điều này hoạt động như một cơ duyên!
Philipp Lenssen

1
+1 cho Trình chỉnh sửa chương trình mặc định. Được đề cập trong một số câu trả lời, nhưng tìm thấy nó ở đây đầu tiên. Đơn giản hơn nhiều, và mặc dù nó là một tiện ích để cài đặt, nhưng nó rất tập trung vào công việc của nó.
tạm biệt

3

Câu hỏi này dường như có rất nhiều giả định trong đó là nghi vấn.

Đầu tiên, tại sao bạn muốn sử dụng tệp .reg để xóa liên kết tệp? Tại sao không làm điều đó từ giao diện người dùng? Bạn đang làm điều này trên nhiều máy trạm?

Thứ hai, tôi không biết lý do tại sao tệp .reg mà bạn liên kết đến sẽ chỉ hoạt động với các phần mở rộng tệp chưa được liên kết trước đó.

Dù sao, để xóa khóa bằng tệp .reg, bạn đặt tiền tố một dấu gạch nối cho tên khóa. Để xóa một giá trị, bạn đặt nó thành dấu gạch nối. Tất cả được đánh vần ở đây .

Để xóa liên kết tệp, bạn cần xóa khóa cho phần mở rộng tệp, ví dụ:

[-HKEY_CLASSES_ROOT\.dat]

Điều này một mình sẽ ngăn không cho tệp được mở, nhưng để hoàn chỉnh, bạn cũng nên xóa khóa cho tên loại, là giá trị mặc định trong khóa mở rộng tệp. Thí dụ:

[-HKEY_CLASSES_ROOT\dat_auto_file]

Cảm ơn Itsadok. Có, lý tưởng là tôi đang tìm cách thực hiện thông qua tệp .reg vì tôi có thể muốn phân phối kết quả (đó là trình chỉnh sửa văn bản dựa trên ứng dụng Chrome Shortcut / Ajax chạy trên localhost + máy chủ). FYI giải pháp của bạn dường như để lại một số dấu vết của hiệp hội, nhưng Factor Mystic đã giải quyết nó.
Philipp Lenssen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.