Windows 8.1: Khôi phục liên kết tệp .bat về mặc định


3

Vài tuần trước, tôi vô tình thay đổi tập tin .bat để mở bằng Notepad ++ (một vấn đề khá phổ biến tôi tin). Trên Win XP và Win 7 tôi đã có một tệp .reg cập nhật các khóa đăng ký có liên quan và sắp xếp vấn đề. Tuy nhiên, tệp bó này không còn hoạt động cho Win 8.1 (Tôi cho rằng các liên kết tệp được xử lý khác nhau trong Win 8.1) và không có bản hack đăng ký thủ công nào của tôi hoạt động.

Bất kể tôi làm gì, tôi dường như không thể khôi phục các tệp .bat về liên kết trước đó của họ. Cuối cùng tôi đã quản lý để tách liên kết các tệp .bat bằng Notepad ++, nhưng tôi không thể tìm ra cách áp dụng mặc định.

Tôi đã thử các giải pháp được liệt kê trên các trang web dưới đây:

http://www.eightforums.com/tutorials/8486-default-file-associations-restore-windows-8-a.html https://social.technet.microsoft.com/Forums/windows/en-US/a85d8a59 -b93b-45a3-8aee-cdf93ce32079 / how-do-i-reset-the-default-file-Association-for-bat-files-on-windows-81? forum = w8itproinstall

Ngoài ra, tôi đã thực hiện các lệnh sau trong dấu nhắc lệnh của quản trị viên nhưng không có kết quả (cả hai đều báo cáo các giá trị chính xác):

C:\Users\Christopher>assoc .bat
.bat= batfile

C:\Users\Christopher>ftype batfile
batfile="%1" %*

Nhưng không nhận được bất cứ nơi nào. Có ai giúp được không?

Câu trả lời:


2

Điều này đã là một cơn ác mộng, nhưng tôi đã giải quyết nó với sự giúp đỡ của @Pariah. Tôi đã phải chạy tệp .reg sau đây với tư cách quản trị viên, sau đó xóa thủ công khóa sau:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\UserChoice

Chạy tệp reg với tư cách quản trị viên:

runas /user:administrator "regedit /s c:\test.reg"

Tập tin Reg:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\batfile]
@="Windows Batch File"
"EditFlags"=hex:30,04,00,00
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\
  00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\
  32,00,5c,00,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\
  00,2c,00,2d,00,36,00,30,00,30,00,32,00,00,00

[HKEY_CLASSES_ROOT\batfile\DefaultIcon]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\
  61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\
  00,38,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell]

[HKEY_CLASSES_ROOT\batfile\shell\edit]

[HKEY_CLASSES_ROOT\batfile\shell\edit\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
  54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\
  00

[HKEY_CLASSES_ROOT\batfile\shell\open]
"EditFlags"=hex:00,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell\open\command]
@="\"%1\" %*"

[HKEY_CLASSES_ROOT\batfile\shell\print]

[HKEY_CLASSES_ROOT\batfile\shell\print\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\
  54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\
  00,25,00,31,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell\runas]
"HasLUAShield"=""

[HKEY_CLASSES_ROOT\batfile\shell\runas\command]
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\
  00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,00,\
  64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,43,00,20,00,22,00,25,00,31,00,22,\
  00,20,00,25,00,2a,00,00,00

[HKEY_CLASSES_ROOT\batfile\shell\runasuser]
@="@shell32.dll,-50944"
"Extended"=""
"SuppressionPolicyEx"="{F211AA05-D4DF-4370-A2A0-9F19C09756A7}"

[HKEY_CLASSES_ROOT\batfile\shell\runasuser\command]
"DelegateExecute"="{ea72d00e-4960-42fa-ba92-7792a7944c1d}"

[HKEY_CLASSES_ROOT\batfile\ShellEx]

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers]
@="Compatibility"

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\Compatibility]
@="{1d27f844-3a1f-4410-85ac-14651078412d}"

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\OpenGLShExt]
@="{E97DEC16-A50D-49bb-AE24-CF682282E08D}"

[HKEY_CLASSES_ROOT\batfile\ShellEx\DropHandler]
@="{86C86720-42A0-1069-A2E8-08002B30309D}"

[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers]

[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers\ShimLayer Property Page]
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}"

[HKEY_CLASSES_ROOT\batfile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}]
@="{1531d583-8375-4d3f-b5fb-d23bbd169f22}"

KHÔNG LÀM VIỆC!!!!!!!!!!!!!!!!!!!!
YumYumYum

1

Tệp Final Reg mà người dùng phải sử dụng để khắc phục sự cố này trong Windows 8.1 [sau khi chạy tệp bó được cung cấp bởi Notepad ++ để đặt notepad ++ làm trình xử lý tệp bó mặc định. Họ đã thử cả hai bản sửa lỗi khác bên dưới bản sửa lỗi này. Cuối cùng, họ phải chạy các tệp sau trong tệp .reg với tư cách quản trị viên.

FIRST, để chạy tệp reg với tư cách quản trị viên: Lưu ý: Tốt nhất là đặt tệp này trên C: \ và đặt tên tệp giống như fix.reg vì vậy cuối cùng, nó giống như C: \ fix.reg. Nếu bạn đặt nó ở đâu đó trong đó đường dẫn và / hoặc tên tệp có bất kỳ khoảng trắng nào trong đó, bạn sẽ nhận được thông báo lỗi và các phím reg sẽ không được thêm / thay đổi.

Lệnh:

runas /user:Administrator "regedit.exe c:\fix.reg"

Nội dung của tệp fix.reg:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\batfile] 
@="Windows Batch File" 
"EditFlags"=hex:30,04,00,00 
"FriendlyTypeName"=hex(2):40,00,25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,\ 
00,6f,00,6f,00,74,00,25,00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,\ 
32,00,5c,00,61,00,63,00,70,00,70,00,61,00,67,00,65,00,2e,00,64,00,6c,00,6c,\ 
00,2c,00,2d,00,36,00,30,00,30,00,32,00,00,00 

[HKEY_CLASSES_ROOT\batfile\DefaultIcon] 
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,69,00,6d,00,\ 
61,00,67,00,65,00,72,00,65,00,73,00,2e,00,64,00,6c,00,6c,00,2c,00,2d,00,36,\ 
00,38,00,00,00 

[HKEY_CLASSES_ROOT\batfile\shell] 

[HKEY_CLASSES_ROOT\batfile\shell\edit] 

[HKEY_CLASSES_ROOT\batfile\shell\edit\command] 
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\ 
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,25,00,31,00,00,\ 
00 

[HKEY_CLASSES_ROOT\batfile\shell\open] 
"EditFlags"=hex:00,00,00,00 

[HKEY_CLASSES_ROOT\batfile\shell\open\command] 
@="\"%1\" %*" 

[HKEY_CLASSES_ROOT\batfile\shell\print] 

[HKEY_CLASSES_ROOT\batfile\shell\print\command] 
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,4e,00,4f,00,\ 
54,00,45,00,50,00,41,00,44,00,2e,00,45,00,58,00,45,00,20,00,2f,00,70,00,20,\ 
00,25,00,31,00,00,00 

[HKEY_CLASSES_ROOT\batfile\shell\runas] 
"HasLUAShield"="" 

[HKEY_CLASSES_ROOT\batfile\shell\runas\command] 
@=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,74,00,25,\ 
00,5c,00,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,63,00,6d,00,\ 
64,00,2e,00,65,00,78,00,65,00,20,00,2f,00,43,00,20,00,22,00,25,00,31,00,22,\ 
00,20,00,25,00,2a,00,00,00 

[HKEY_CLASSES_ROOT\batfile\shell\runasuser] 
@="@shell32.dll,-50944" 
"Extended"="" 
"SuppressionPolicyEx"="{F211AA05-D4DF-4370-A2A0-9F19C09756A7}" 

[HKEY_CLASSES_ROOT\batfile\shell\runasuser\command] 
"DelegateExecute"="{ea72d00e-4960-42fa-ba92-7792a7944c1d}" 

[HKEY_CLASSES_ROOT\batfile\ShellEx] 

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers] 
@="Compatibility" 

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\Compatibility] 
@="{1d27f844-3a1f-4410-85ac-14651078412d}" 

[HKEY_CLASSES_ROOT\batfile\ShellEx\ContextMenuHandlers\OpenGLShExt] 
@="{E97DEC16-A50D-49bb-AE24-CF682282E08D}" 

[HKEY_CLASSES_ROOT\batfile\ShellEx\DropHandler] 
@="{86C86720-42A0-1069-A2E8-08002B30309D}" 

[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers] 

[HKEY_CLASSES_ROOT\batfile\ShellEx\PropertySheetHandlers\ShimLayer Property Page] 
@="{513D916F-2A8E-4F51-AEAB-0CBC76FB1AF8}" 

[HKEY_CLASSES_ROOT\batfile\ShellEx\{8895b1c6-b41f-4c1c-a562-0d564250836f}] 
@="{1531d583-8375-4d3f-b5fb-d23bbd169f22}"

Các bản sửa lỗi có thể khác để thử nếu ở trên không hiệu quả với bạn [Nó đã được xác minh để hoạt động bởi ít nhất 1 người trong đó những người dưới đây không có trong Windows 8.1]

Khóa sổ đăng ký để điều hướng đến: HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.BAT \ UserChoice Xóa khóa có tên "sự lựa chọn của người dùng"

Khối mã cho rõ ràng (theo yêu cầu):

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.BAT\UserChoice

Cũng được liệt kê trên trang tham khảo như là một sửa chữa như sau:

Tôi sẽ không đồng ý ở đó. Đây không phải là một vấn đề cụ thể của Windows 8. Một cái gì đó đã thay đổi liên kết tập tin, và nó cần phải được thay đổi trở lại. Vấn đề tương tự này có thể được sao chép hoàn toàn từ Windows 2000 (và có thể sớm hơn). Bạn có kiểm tra các khóa sau và đảm bảo rằng chúng được đặt thành các giá trị được hiển thị, như đã thấy trong các phản hồi trong bài đăng đó không?

[HKEY_CLASSES_ROOT.bat] @ = "batfile"

[HKEY_CLASSES_ROOT.bat \ PersistentHandler] @ = "{5e941d80-bf96-11cd-b579-08002b30bfeb}"

[HKEY_CLASSES_ROOT \ batfile \ shell \ open \ lệnh] @ = "\"% 1 \ "% *"

Người dùng giải pháp phức tạp thứ hai này cũng có một liên kết đến tệp * .reg mà họ đã tạo để tự động đặt một số khóa được liệt kê ở trên văn bản này cho bạn đến các giá trị mặc định. Xem Phần dưới cùng của trang tham chiếu vì phần này được đánh dấu là Giải pháp tốt nhất và những phần đó được giữ ở cuối trang (tại sao M $ đưa ra quyết định đó nằm ngoài tôi, bạn sẽ không đặt giải pháp lên đầu chủ đề để chúng dễ tìm hơn? Tốt ol M $ )

Điều đó sẽ làm điều đó và có notepad ++ ngừng tiếp quản. Là một ghi chú bên cạnh, bạn có thể nhấp chuột phải vào tệp * .bat và nếu bạn nhấp vào mục Chỉnh sửa trong menu sẽ mở tệp bó trong notepad cho bạn trong khi vẫn để lại nhấp đúp để thực hiện tệp bó trong vỏ lệnh.

Tham chiếu được sử dụng [Được liệt kê trong diễn đàn Windows 7 nhưng giống trong Windows 8.1 btw]:

https://social.technet.microsoft.com/Forums/windows/en-US/fc2ca91d-5509-4c9b-92a5-5af19375e361/lost-bat-file-association?forum=w7itprogeneral

Thông tin chi tiết hơn (cách mở regedit và chạy với tư cách quản trị viên nếu cần)

Đối với cái này thì hơi khó vì chúng ta phải sử dụng Registry Editor. Bạn NÊN có thể thực hiện việc này với tư cách là người dùng vì thay đổi là cấp độ người dùng hầu hết thời gian, nhưng tùy thuộc vào chính sách bảo mật của bạn, bạn có thể phải thực hiện các thao tác sau.

  1. Nhấp vào nút Menu Bắt đầu
  2. Nhập regedit (chỉ bắt đầu nhập khi menu bắt đầu hiển thị và nó sẽ bắt đầu tìm kiếm tự động).
  3. Khi bạn thấy regedit xuất hiện trên màn hình, nhấp chuột phải vào nó
  4. Khi bạn thấy menu ngữ cảnh xuất hiện, nhấp vào Run as Administrator
  5. Xác thực (nhập mật khẩu quản trị viên của bạn, đặt ngón tay lên đầu đọc dấu vân tay tuy nhiên bạn đã thiết lập nó giống như đăng nhập vào tài khoản)

Lưu ý bên lề: Bạn có thể dùng thử trước mà không cần thực hiện phần quản trị viên nếu bạn muốn. Điều tồi tệ nhất mà nó sẽ làm là từ chối khả năng xóa khóa được liệt kê của bạn. Nếu điều này xảy ra, bạn phải chạy với tư cách quản trị viên và sau đó bạn sẽ có thể xóa nó.

Nói chung đối với các liên kết tệp MOST trong hầu hết tất cả các phiên bản Windows (ngoài các phiên bản được đặt trong hệ thống, chẳng hạn như tệp bó):

Tất cả những gì bạn cần làm là giữ phím Shift TRÁI xuống trong khi bạn nhấp chuột phải vào tệp * .bat. Khi bạn thực hiện việc này với một tệp, bạn sẽ thấy tùy chọn Mở bằng ... xuất hiện gần phía trên cùng của menu ngữ cảnh xuất hiện [menu nhỏ mà bạn nhận được khi nhấp chuột phải vào mọi thứ]. Khi bạn nhấp vào mở với bạn sẽ nhận được một hộp thoại trong đó bạn có thể chọn những gì để mở tệp với. Nếu bạn chọn hộp Sử dụng làm mặc định ở góc dưới bên trái, nó sẽ trở thành hành động mặc định mới khi bạn nhấp đúp vào các tệp cùng loại.


Ồ và lý do bảng điều khiển quản trị báo cáo đúng giá trị là nó đưa ra những gì mà tên người dùng quản trị viên đã đặt. Vì đây là thay đổi cấp độ người dùng, nó sẽ chỉ ảnh hưởng đến tài khoản cụ thể của bạn trong khi bất kỳ tài khoản nào khác sẽ có hành động mặc định của hệ thống.
Pariah

Thật không may, câu trả lời của bạn chỉ sao chép những gì tôi đã thử. Tôi không có khóa UserChoice trong HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .bat vì tôi đã xóa nó.
Spikeh

Hãy chắc chắn để xem lại câu trả lời Tôi đã thêm giải pháp phức tạp thứ hai tại thời điểm bạn đang đọc nó. Các thông tin trích dẫn khối sẽ sửa chữa bạn nếu giải pháp ban đầu đầu tiên không.
Pariah

theo như tôi có thể thấy thì bây giờ nó đã được dọn sạch phần mở rộng tình cờ của trích dẫn khối và nếu không thì mọi thứ phải rõ ràng và sạch sẽ
Pariah

Bạn đã đúng về khối mã cho khóa reg, có thể tôi sẽ thêm nó dưới dạng mục nhập thứ hai thấp hơn trong tài liệu, nhưng tôi đã sử dụng nó như một phần của tiêu đề và đó là lý do tại sao nó không bị chặn. Tôi không đặc biệt truy cập hotlink, tất cả những gì tôi đã làm là dán URL vào và nó hiển thị dưới dạng một liên kết có thể nhấp với URL đầy đủ [vì vậy mọi người có thể biết nó đi đâu thay vì rút ngắn tôi thích biết URL đầy đủ vì vậy tôi cố gắng lịch sự những người khác
Pariah

0

Xóa khóa đăng ký này (với tư cách là quản trị viên) đã bị thiếu trong tất cả các mục trên (Windows 8.1):

HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ Roaming \ OpenWith \ FileExts.bat \ UserChoice.

Hi vọng điêu nay co ich.

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.