Làm cách nào để khôi phục liên kết tệp .bat với hệ thống (làm cho chúng chạy khi nhấp đúp chuột)?


68

Tôi phải làm gì để đặt thuộc tính 'Mở bằng ...' để hệ thống chạy lại các tệp .bat (khi chúng được nhấp đúp)?

Bằng cách nào đó, ông chủ của tôi đã thuyết phục máy trạm của mình rằng trình xử lý .batcác tệp được coi là Word. Bây giờ, khi bấm đúp vào .battệp, chúng được mở trong Word.


1
Tôi thậm chí không thể tìm thấy .BAT trong hộp thoại liên kết loại tệp trong Windows. Và tôi không thể gọi hộp thoại Mở bằng ... trên tệp .bat. Làm thế nào anh ấy có thể thay đổi nó ??

3
umm ... tôi đoán đó là lý do tại sao anh ấy là ông chủ? ;)

3
nhấp chuột phải vào tệp .bat -> Mở bằng ... -> chọn MS Word, chọn "Luôn mở với chương trình này", nhấp OK. bam, tiện ích mở rộng của bạn hiện đã được đăng ký với Word.
quack quixote

Các tập tin bat của tôi cũng không có menu "Open With" (Windows 7) Các tập tin khác có nó, tất nhiên.
lbalazscs

1
Các tập tin FYI, .bat không thể thực thi được. Họ được giải thích các kịch bản.
Keltari

Câu trả lời:


58

Tôi nghĩ bạn sẽ phải xóa liên kết tệp .bat khỏi sổ đăng ký (sử dụng chương trình regedit).

Theo chủ đề diễn đàn này trên LockerGnome , bạn cần xóa cài đặt đăng ký bên dưới khóa này:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat

Bạn có thể muốn sao lưu registry trước khi làm điều này, chỉ để được an toàn.


28
Đối với những người theo chủ nghĩa tối giản ngoài kia, tôi sẽ nói thêm rằng tôi đã thành công khi chỉ xóa thư mục con UserChoice. Khi nó biến mất, hành vi Execute mặc định được khôi phục. HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .bat \ UserChoice
Đánh dấu F Guerra

Tôi đã gỡ bỏ toàn bộ .batchìa khóa và mọi thứ trở lại bình thường. Vì một số lý do (tôi nghi ngờ phần mềm chống vi-rút) tôi không thể đổi tên UserChoicekhóa.
Kim Gräsman

Một nỗi đau!! và điều này đã tự động xảy ra trên một bản cập nhật. Cảm ơn một bó MS.
Jus12

Trong đường dẫn, HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.battôi đã loại bỏ UserChoicehoàn toàn chìa khóa, hoạt động tốt với tôi. @Kim - có thể bạn không chạy regedt32với tư cách quản trị viên (nhấp chuột phải và chọn Run as administrator)?
Matt

Có nhiều lý do có thể khác / nơi đăng ký. Xem các câu trả lời khác, và câu trả lời của tôi đang thử tóm tắt.
kxr

32

Tập tin khóa đăng ký này sẽ làm điều đó. Sao chép và dán vào một tệp văn bản có tên là "restore.reg" và nhấp đúp vào tệp để hợp nhất vào sổ đăng ký.

Nó sẽ xóa mọi cài đặt theo người dùng mà bạn có thể đã vô tình tạo cho các tệp .bat và khôi phục mặc định của hệ thống, bao gồm mối quan hệ loại tệp .bat<-> batfilecũng như các tham số thực tế để khởi chạy a batfile.

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]
[-HKEY_CURRENT_USER\Software\Classes\.bat]
[-HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
@="batfile"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]
@="\"%1\" %*"

cũng phải chạy các tệp cmd trên máy của tôi
mohlsen

1
Tôi đã sử dụng cái này, dường như hoạt động tốt.
Håkon K. Olafsen

Sau khi làm điều này, trong khi nhấp đúp vào tệp bat, tôi gặp lỗi như "a.bat không phải là ứng dụng win32 hợp lệ"
rashok

Hoạt động hoàn hảo nhưng để có ảnh hưởng, tôi phải giết explorer.exevà chạy lại như một nhiệm vụ mới bằng Trình quản lý tác vụ.
Dave Anderson

Điều này đã giải quyết được nếu đối với tôi, câu trả lời được chọn không phải là Nó vẫn đang yêu cầu một ứng dụng mở tệp .bat.
JDuarteDJ

10

Tôi đã có cùng một vấn đề (trong Windows 7); các tệp bó đã được mở trong Notepad thay vì được thực thi.

Sửa sổ đăng ký bên dưới cho các tệp .bat (theo bất kỳ máy nào khác nơi nó hoạt động) sẽ làm cho lô thực thi chính xác:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\

.bat                --> default-> Value not set
.bat/OpenWithList   --> default-> Value not set
.bat/OpenWithProgIds--> default-> Value not set
                        batfile-> Zero length binary values 

Giữ các mục này nhưng loại bỏ tất cả những người khác dưới .bat. Làm mới và chạy một tệp bó bằng cách nhấp đúp - nó sẽ chạy chính xác.


7

Không có câu trả lời nào ở trên đã sửa nó cho máy tôi đang làm việc, nhưng cái gì đã sửa nó đang khởi động Admin Shell và chạy

assoc .bat=batfile
assoc .cmd=batfile

1
Đây là giải pháp cho Win 2008 Server, cmd chạy với tư cách Quản trị viên. Không cần khởi động lại Explorer.exe hoặc Windows.
TonyG

Đừng làm việc?????????????????
YumYumYum

2
Điều này làm việc cho tôi trên Windows 10
htxryan

Không, không hoạt động trên Windows Server 2012
Bộ công cụ

Với Run as Administrator, điều này làm việc hoàn hảo cho tôi trên Windows 10 !! :-) Bây giờ (cài đặt) các tệp .exe gọi các tệp .bat hoạt động như mong đợi. Giải pháp này tốt hơn nhiều so với việc phải lộn xộn với registry! Là một sidenote, để xem hiệp hội hiện tại là gì, chỉ cần gõ assoc .batTrong trường hợp của tôi cả hai .batcmd được liên kết là Notepad++_file. Bây giờ .batfile, nhấp chuột phải vào các tập tin bat cho phép tôi CHẠY hoặc Chạy với tư cách Quản trị viên. Trước đây điều này là không thể. Trước đây, cách giải quyết của tôi là mở một cửa sổ cmd sau đó nhập thủ công a filename.batđể chạy tệp
SherylHohman


2

Câu trả lời nhận được 40 phiếu bầu của Kaleb không có tác dụng với tôi nhưng cuối cùng tôi đã tìm được câu trả lời. Để có được tập tin bat để thực hiện lại, bạn phải vào:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes.bat] và đặt (Mặc định) thành "batfile". Nếu bạn có các tập lệnh bó mở trong Word hoặc Notepad ++ thay vì chạy bằng nhấp đúp, thì đó là vì các chương trình đó đã đặt (Mặc định) thành mimes riêng của chúng.

Nếu bạn muốn khắc phục nhanh, chỉ cần mở tệp văn bản và dán:

    Windows Registry Editor Version 5.00

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]
    @="batfile"

Và lưu nó với một phần mở rộng .reg và nhấp đúp để hợp nhất.


1

Trong regisrty, mục .bat của bạn cần trỏ đến mục batfile :

[HKEY_CLASSES_ROOT\.bat]
@="batfile"
.....

Đương nhiên, bạn cũng sẽ cần đảm bảo rằng bạn có một mục đăng ký batfile :

[HKEY_CLASSES_ROOT\batfile]
@="MS-DOS Batch File"
.....

1

Trong Windows 8, sử dụng Notepad để tạo hoặc sửa đổi tệp Batch nhưng bí mật là như sau:

Lưu tệp bó bằng dấu ngoặc kép. Sử dụng "MYBACK.BAT" theo nghĩa đen bằng cách sử dụng dấu ngoặc kép trong hộp lưu để lưu tệp. Thay vì MYBACK.BAT


Đúng (giống với các phiên bản trước của Windows / Notepad). Nhưng làm thế nào mà trả lời câu hỏi?
Arjan

0

Nội dung đăng ký khác nhau cho các phiên bản Windows khác nhau.

Tôi khuyên bạn nên tìm một máy tính khác có cùng phiên bản O / S và sử dụng regedit để xuất nội dung của HKEY_CLASSES_ROOT\.batHKEY_CLASSES_ROOT\batfile.

Sau đó đi đến máy của Boss, xóa hai phím trên và nhập hai tệp.


0

Để tránh những rắc rối (và đối với nhiều người khan hiếm và đe dọa) khi chỉnh sửa sổ đăng ký, bạn có thể sử dụng tiện ích sửa chữa miễn phí, tuyệt vời và không xâm lấn mà thực sự đạt được bất kỳ điều gì tốt (so với nhiều crapware khác), chỉnh sửa Windows Repair .

Cụ thể: cài đặt nó, chuyển sang tab "Sửa chữa", nhấp vào "Mở sửa chữa" và đánh dấu vào "04 Đăng ký tệp hệ thống", sau đó nhấp vào nút "Bắt đầu sửa chữa".

Giao diện người dùng của chương trình đó đã thay đổi theo thời gian, vì vậy trong tương lai, bất kỳ ai làm điều này có thể cần khám phá chương trình để tìm tùy chọn này.

Tôi sẽ mạo hiểm đoán rằng có rất nhiều vấn đề khác tồn tại trên máy tính của ông chủ của bạn, để anh ta có thể muốn chạy tất cả các sửa chữa của chương trình, có thể mất hàng giờ, tùy thuộc.

Lưu ý: Tôi không liên kết với tinh chỉnh.com; Tôi chỉ là một fan hâm mộ lớn của chương trình. Sử dụng thành thạo nó đã cứu hệ điều hành máy tính của tôi hoặc giải quyết các vấn đề cứng đầu nhiều lần.


0

Một lần nữa, không có câu trả lời trước đó đã làm điều đó ở đây.
Tôi ví dụ đã phải thay đổi giá trị mặc định [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell] từ editthành open.

(Một khi tôi đã thay đổi liên kết mở rộng loại tệp trong hộp thoại tùy chọn thư mục Explorer. Các tệp BAT không được cung cấp để thay đổi. Có vẻ như có một ngoại lệ đặc biệt. Nhưng tôi nhớ, một khi tôi đã thêm loại BAT trong hộp thoại tùy chọn thư mục Explorer , để có được 'chỉnh sửa' là động từ shell mặc định.)

Nhiều nơi để kiểm tra

Vì vậy, sau tất cả, có nhiều lý do khác nhau và phiên bản HĐH khác nhau, và (ít nhất) các giá trị (mặc định) của các thư mục đăng ký sau (và các thư mục con) cần phải được kiểm tra - sử dụng một số ý nghĩa thông thường :-). Và tôi nghĩ rằng danh sách đó có thể phản ánh thứ tự ưu tiên có liên quan đến HĐH:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bat]  (if present: remove "UserChoice")
[HKEY_CURRENT_USER\Software\Classes\.bat]  (if present: @ = "batfile")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile]  (if present)
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\shell]  (if present: @ = "open")
[HKEY_CURRENT_USER\SOFTWARE\Classes\batfile\shell\open\command]  (if present: @ = "\"%1\" %*")
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.bat]  @ = "batfile"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile]
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell]  @ = "open"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell\open\command]  @ = "\"%1\" %*"
[HKEY_CLASSES_ROOT\.bat]  @ = "batfile"
[HKEY_CLASSES_ROOT\batfile]
[HKEY_CLASSES_ROOT\batfile\shell]  @ = "open"
[HKEY_CLASSES_ROOT\batfile\shell\open\command]  @ = "\"%1\" %*"
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.