Windows 8.1: Przywróć domyślne skojarzenie pliku .bat


3

Kilka tygodni temu przypadkowo zmieniłem pliki .bat, aby otworzyć je za pomocą Notepad ++ (wydaje mi się, że to dość powszechny problem). W systemach Win XP i Win 7 miałem plik .reg, który aktualizował odpowiednie klucze rejestru i rozwiązał problem. Jednak ten plik wsadowy nie działa już w systemie Win 8.1 (zakładam, że skojarzenia plików są obsługiwane inaczej w systemie Win 8.1) i żaden z ręcznych hacków rejestru nie działa.

Bez względu na to, co robię, nie mogę przywrócić plików .bat do ich poprzedniego skojarzenia. W końcu udało mi się oddzielić pliki .bat za pomocą Notepad ++, ale nie mogę wymyślić, jak zastosować ustawienia domyślne.

Wypróbowałem rozwiązania wymienione w poniższych witrynach:

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

Dodatkowo wykonałem następujące polecenia w wierszu polecenia administratora bezskutecznie (oba zgłaszają prawidłowe wartości):

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

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

Ale nigdzie się nie dostaję. Czy ktoś może pomóc?

Odpowiedzi:


2

To był trochę koszmar, ale rozwiązałem go przy pomocy @Pariah. Musiałem uruchomić następujący plik .reg jako administrator, a następnie ręcznie ręcznie usunąć następujący klucz:

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

Uruchom plik reg jako administrator:

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

Plik 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}"

NIE DZIAŁA!!!!!!!!!!!!!!!!!!!!
YumYumYum

1

Ostateczny plik reg, którego użytkownik musiał użyć, aby rozwiązać ten problem w systemie Windows 8.1 [po uruchomieniu pliku wsadowego dostarczonego przez Notepad ++, aby ustawić notepad ++ jako domyślną procedurę obsługi plików wsadowych. Wypróbowali obie pozostałe poprawki poniżej tego. W końcu musieli uruchomić następujące polecenie w pliku .reg jako administrator.

PIERWSZY, aby uruchomić plik reg jako admin: Uwaga: Najlepiej jest umieścić ten plik na C: \ i nazwać plik coś takiego jak fix.reg, więc w końcu jest to coś takiego jak C: \ fix.reg. Jeśli umieścisz to w miejscu, w którym ścieżka i / lub nazwa pliku zawiera spacje, otrzymasz komunikat o błędzie, a klucze reg nie zostaną dodane / zmienione.

Komenda:

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

Zawartość pliku 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}"

Inne możliwe poprawki do wypróbowania, jeśli powyższe nie działa dla Ciebie [Zostało zweryfikowane, że działa co najmniej 1 osoba, jeśli poniższe nie działały w systemie Windows 8.1]

Klucz rejestru, aby przejść do: HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.BAT \ UserChoice Usuń klucz o nazwie „wybór użytkownika”

Blok kodu dla zachowania przejrzystości (na żądanie):

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

Na stronie referencyjnej wymieniono również następującą poprawkę:

Nie zgodziłbym się tam. To nie jest problem związany z Windows 8. Coś zmieniło powiązanie plików i należy je zmienić z powrotem. Ten sam problem można zreplikować aż do systemu Windows 2000 (i prawdopodobnie wcześniej). Czy sprawdziłeś następujące klucze i upewniłeś się, że zostały ustawione na wartości pokazane w odpowiedziach w tym poście?

[HKEY_CLASSES_ROOT.bat] @ = "batfile"

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

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

Użytkownik tego drugiego, bardziej złożonego rozwiązania ma również link do utworzonego przez siebie pliku * .reg, który powinien automatycznie ustawić dla tych kilku kluczy wymienionych powyżej tego tekstu wartości domyślne. Zobacz Dół strony referencyjnej, ponieważ oznaczono to jako najlepsze rozwiązanie, a te znajdują się na dole strony (dlaczego M $ podjęło tę decyzję poza mną, czy nie umieściłbyś rozwiązań na początku wątków, aby były łatwiejsze do znalezienia? Dobra ol M $ )

To powinno to zrobić i mieć przestać przejmować notepad ++. Na marginesie można kliknąć prawym przyciskiem myszy plik * .bat, a następnie kliknąć pozycję Edytuj w menu, która otworzy plik wsadowy w notatniku, pozostawiając jednocześnie podwójne kliknięcie, aby uruchomić plik wsadowy w powłoce poleceń.

Używane odniesienie [wymienione na forum Windows 7, ale jest takie samo w Windows 8.1 btw]:

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

Bardziej szczegółowe informacje (jak otworzyć regedit i w razie potrzeby uruchomić jako administrator)

W tym przypadku jest to trochę trudne, ponieważ musimy użyć Edytora rejestru. MUSISZ być w stanie to zrobić jako użytkownik, ponieważ zmiana jest najczęściej na poziomie użytkownika, ale w zależności od obowiązujących zasad bezpieczeństwa może być konieczne wykonanie następujących czynności.

  1. Kliknij przycisk menu Start
  2. Wpisz regedit (po prostu zacznij pisać, gdy menu startowe jest widoczne i powinno rozpocząć automatyczne wyszukiwanie).
  3. Gdy zobaczysz regedit na ekranie, kliknij go prawym przyciskiem myszy
  4. Gdy pojawi się menu kontekstowe, kliknij opcję Uruchom jako administrator
  5. Uwierzytelnij (wpisz hasło administratora, umieść palec na czytniku linii papilarnych, niezależnie od tego, jak je skonfigurowałeś, to tak, jakbyś logował się na konto)

Uwaga dodatkowa: Jeśli chcesz, możesz spróbować najpierw bez udziału administratora. Najgorsze, co zrobi, to odmowa możliwości usunięcia klucza z listy. Jeśli tak się stanie, musisz uruchomić się jako administrator, a wtedy będziesz mógł go usunąć.

Ogólnie dla skojarzeń plików MOST w prawie wszystkich wersjach systemu Windows (oprócz zestawów systemowych, takich jak pliki wsadowe):

Wszystko, co musisz zrobić, to przytrzymać LEWY klawisz Shift podczas klikania prawym przyciskiem myszy pliku * .bat. Gdy zrobisz to z plikiem, powinieneś zobaczyć opcję Otwórz za pomocą ... u góry menu kontekstowego, które się pojawi [małe menu, które pojawia się po kliknięciu rzeczy prawym przyciskiem myszy]. Po kliknięciu przycisku otwórz pojawi się okno dialogowe, w którym możesz wybrać, za pomocą którego pliku chcesz otworzyć. Jeśli zaznaczysz pole Użyj jako domyślne w lewym dolnym rogu, stanie się nową domyślną akcją po dwukrotnym kliknięciu plików tego samego typu.


No i powodem, dla którego konsola administracyjna zgłasza właściwą wartość, jest podanie tego, co sama nazwa użytkownika administratora ustawiła. Ponieważ była to zmiana na poziomie użytkownika, wpłynęłaby ona tylko na konkretne konto, podczas gdy inne konta powinny mieć domyślną akcję systemową.
Pariah

Niestety twoja odpowiedź po prostu odzwierciedla to, co już próbowałem. Nie mam klucza UserChoice w kluczu HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .bat, ponieważ już go usunąłem.
Spikeh

Zapoznaj się z odpowiedzią Dodałem drugie, bardziej złożone rozwiązanie, kiedy to czytałeś. Informacja o cytowanym bloku powinna cię naprawić, jeśli pierwsze oryginalne rozwiązanie tego nie zrobiło.
Pariah

o ile widzę, powinno być dobrze teraz wyczyścić przypadkowe przedłużenie cytatu blokowego, a poza tym wszystko powinno być jasne i czyste
Pariah

Masz rację w bloku kodu dla klucza reg, może dodam go jako drugi wpis niżej w dokumencie, ale użyłem go jako części tytułu i dlatego nie został zablokowany. Nie zdecydowałem się specjalnie na hotlink, wszystko, co zrobiłem, to wklejenie adresu URL i pokazuje się jako klikalny link z pełnym adresem URL [więc ludzie mogą wiedzieć, dokąd idzie, zamiast go skracać, lubię znać pełne adresy URL, więc staram się być uprzejmy, aby inni
Pariah

0

Usunięcia tego klucza rejestru (jako administratora) brakowało we wszystkich powyższych (Windows 8.1):

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

Mam nadzieję że to pomoże.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.