Jak przywrócić skojarzenie plików .bat z systemem (uruchomić je po dwukrotnym kliknięciu)?

68

Na co mam ustawić właściwość „Otwiera się ...”, aby system ponownie uruchomił pliki .bat (po dwukrotnym kliknięciu)?

W jakiś sposób mój szef przekonał swoją stację roboczą, że .batprogramem obsługującym pliki powinien być Word. Teraz po dwukrotnym kliknięciu .batpliki są otwierane w programie Word.

justSteve
źródło
1
Nie mogę nawet znaleźć pliku .BAT w oknie dialogowym skojarzeń typów plików w systemie Windows. I nie mogę wywołać okna dialogowego Otwórz za pomocą ... pliku .bat. Jak mógł to zmienić?
3
umm ... zgaduję, że dlatego jest szefem? ;)
3
kliknij prawym przyciskiem myszy plik .bat -> Otwórz za pomocą ... -> wybierz MS Word, zaznacz „Zawsze otwieraj z tym programem”, kliknij OK. bam, twoje rozszerzenie jest teraz zarejestrowane w Word.
quack quixote
Moje pliki nietoperzy również nie mają menu „Otwórz za pomocą” (Windows 7) Oczywiście inne pliki go mają.
lbalazscs
1
FYI, pliki .bat nie są plikami wykonywalnymi. Są to interpretowane skrypty.
Keltari

Odpowiedzi:

58

Myślę, że będziesz musiał usunąć skojarzenie pliku .bat z rejestru (za pomocą programu regedit).

Zgodnie z tym wątkiem na forum na LockerGnome , musisz usunąć ustawienia rejestru pod tym kluczem:

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

Prawdopodobnie będziesz chciał wykonać kopię zapasową rejestru, aby to zrobić, tylko dla bezpieczeństwa.

Kaleb Brasee
źródło
28
Dla was, minimalistów, dodam, że odniosłem sukces, usuwając tylko podfolder UserChoice. Po jego zniknięciu przywrócono domyślne zachowanie Execute. HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .bat \ UserChoice
Mark F Guerra
Wyjąłem cały .batklucz i wszystko wróciło do normy. Z jakiegoś powodu (podejrzewam, że program antywirusowy) nie mogłem zmienić nazwy UserChoiceklucza.
Kim Gräsman
Taki ból!! i stało się to automatycznie po aktualizacji. Wielkie dzięki MS.
Jus12
Na ścieżce całkowicie HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.batusunąłem UserChoiceklucz, co dla mnie działało dobrze. @Kim - może nie działałeś regedt32jako administrator (kliknij prawym przyciskiem myszy i wybierz Run as administrator)?
Matt
Istnieje wiele innych możliwych przyczyn / miejsc rejestru. Zobacz inne odpowiedzi, a moja odpowiedź próbuje podsumować.
kxr
32

Zrobi to ten plik klucza rejestru. Skopiuj i wklej do pliku tekstowego o nazwie „restore.reg”, a następnie kliknij go dwukrotnie, aby scalić z rejestrem.

Spowoduje to wyczyszczenie wszystkich ustawień użytkownika przypadkowo utworzonych dla plików .bat i przywrócenie domyślnych ustawień systemu, w tym relacji typu pliku .bat<-> batfile, a także rzeczywistych parametrów uruchamiania 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\" %*"
Factor Mystic
źródło
musiałem również uruchomić pliki cmd na moim komputerze
mohlsen
1
Użyłem tego, wydaje się, że działa dobrze.
Håkon K. Olafsen,
Po zrobieniu tego, po dwukrotnym kliknięciu pliku nietoperza, pojawia się błąd: „a.bat nie jest prawidłową aplikacją dla win32”
rashok
Działa idealnie, ale aby wpłynąć, musiałem zabić explorer.exei uruchomić ponownie jako nowe zadanie za pomocą Menedżera zadań.
Dave Anderson
Ten rozwiązał, jeśli dla mnie wybrana odpowiedź nie. Wciąż prosił o aplikację do otwarcia plików .bat.
JDuarteDJ
10

Miałem ten sam problem (w Windows 7); pliki wsadowe otwierały się w Notatniku, a nie były uruchamiane.

Poprawienie poniższego rejestru dla plików .bat (jak na każdym innym komputerze, na którym działa) sprawi, że partia zostanie wykonana poprawnie:

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 

Zachowaj te wpisy, ale usuń wszystkie pozostałe poniżej .bat. Odśwież i uruchom plik wsadowy, klikając dwukrotnie - uruchomi się poprawnie.

Marzyciel
źródło
7

Żadna z powyższych odpowiedzi nie naprawiła tego na komputerze, z którym pracowałem, ale to, co naprawiło, to uruchamianie powłoki administracyjnej i uruchamianie

assoc .bat=batfile
assoc .cmd=batfile
Niklas R.
źródło
1
To jest rozwiązanie dla Win 2008 Server, cmd uruchom jako administrator. Nie jest wymagane ponowne uruchomienie Explorer.exe lub systemu Windows.
TonyG
Nie działa?????????????????
YumYumYum
2
Działa
nie, nie działał w systemie Windows Server 2012
Toolkit
Dzięki Run as Administrator, to działało idealnie dla mnie na Windows 10 !! :-) Teraz (zainstaluj) pliki .exe, które wywołują pliki .bat, działają zgodnie z oczekiwaniami. To rozwiązanie jest znacznie lepsze niż bałagan w rejestrze! Na marginesie, aby zobaczyć, jakie jest bieżące skojarzenie, po prostu wpisz assoc .batW moim przypadku oba .bati cmd zostały skojarzone jako Notepad++_file. Teraz, gdy są .batfile, kliknięcie prawym przyciskiem myszy plików nietoperzy pozwala mi na uruchomienie lub uruchomienie jako administrator. Wcześniej nie było to możliwe. Wcześniej moim obejściem było otwarcie okna cmd, a następnie ręczne wpisanie a, filename.bataby uruchomić plik
SherylHohman
3

Informacje zawarte w tej odpowiedzi doprowadziły mnie do rozwiązania mojego pytania .

Otworzyłem wspomniany tam klucz rejestru i

  • usunął UserChoiceklucz
  • usunięto wszystkie wpisy pod OpenWithListkluczem
Zielony gigant
źródło
2

Odpowiedź, która uzyskała 40 głosów od Kaleba, nie zadziałała, ale znalazłem odpowiedź. Aby ponownie uruchomić plik bat, musisz przejść do:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes.bat] i ustaw (Domyślne) na „plik bat”. Jeśli masz skrypty wsadowe otwierające się w programie Word lub Notepad ++ zamiast uruchamiać się po podwójnym kliknięciu, to dlatego, że te programy ustawiły (Domyślne) na własne mimy.

Jeśli chcesz szybko naprawić, po prostu otwórz plik tekstowy i wklej:

    Windows Registry Editor Version 5.00

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

I zapisz go z rozszerzeniem .reg i kliknij dwukrotnie, aby scalić.

thebunnyrules
źródło
1

W regierty wpis .bat musi wskazywać na wpis batfile :

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

Oczywiście musisz również upewnić się, że masz wpis rejestru pliku batfile :

[HKEY_CLASSES_ROOT\batfile]
@="MS-DOS Batch File"
.....
user6621
źródło
1

W systemie Windows 8 użyj Notatnika, aby utworzyć lub zmodyfikować plik wsadowy, ale sekret jest następujący:

Zapisz plik wsadowy, używając podwójnych cudzysłowów. Dosłownie użyj „MYBACK.BAT”, używając podwójnych cudzysłowów w polu zapisu, aby zapisać plik. Zamiast MYBACK.BAT

użytkownik351257
źródło
Prawda (to samo dla poprzednich wersji Windows / Notatnika). Ale jak to odpowiada na pytanie?
Arjan
0

Zawartość rejestru jest różna dla różnych wersji systemu Windows.

Sugeruję, aby znaleźć inny komputer z tą samą wersją O / S i użyć regedit, aby wyeksportować zawartość HKEY_CLASSES_ROOT\.bati HKEY_CLASSES_ROOT\batfile.

Następnie przejdź do komputera Szefa, usuń powyższe dwa klucze i zaimportuj dwa pliki.

harrymc
źródło
0

Aby uniknąć kłopotów (i dla wielu osób z przerażeniem i zastraszaniem) edycji rejestru, możesz skorzystać z bezpłatnego, doskonałego i nieinwazyjnego narzędzia do naprawy, które faktycznie zapewnia dobre (w porównaniu do wielu innych crapware), tweaking.com Windows Repair .

W szczególności: zainstaluj go, przejdź do zakładki „Naprawy”, kliknij „Otwórz naprawy” i zaznacz pole wyboru „04 Zarejestruj pliki systemowe”, a następnie kliknij przycisk „Rozpocznij naprawy”.

Interfejs użytkownika tego programu zmieniał się z czasem, więc w przyszłości każdy, kto to zrobi, może potrzebować eksploracji programu, aby znaleźć tę opcję.

Zaryzykowałbym przypuszczenie, że na komputerze twojego szefa istnieje wiele innych problemów, więc może on chcieć przeprowadzić wszystkie naprawy programu, co może zająć kilka godzin.

Uwaga: nie jestem powiązany z tweaking.com; Jestem tylko wielkim fanem tego programu. Umiejętne użycie go uratowało system operacyjny mojego komputera lub rozwiązało uporczywe problemy wiele razy.

r_alex_hall
źródło
0

Ponownie, żadna z poprzednich odpowiedzi nie zrobiła tego tutaj.
Na przykład musiałem zmienić domyślną wartość [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell] z editna open.

(Po zmianie typu rozszerzenia skojarzeń rozszerzeń plików w oknie dialogowym opcji folderów Eksploratora. Pliki BAT nie były oferowane do zmiany. Wydaje się, że istnieje wyjątek. Ale pamiętam, kiedy dodałem typ BAT w oknie dialogowym opcji folderów Eksploratora , aby domyślnym czasownikiem powłoki było „edit”).

Różne miejsca do sprawdzenia

W końcu istnieją różne przyczyny i różne wersje systemu operacyjnego, a (przynajmniej) wartości (domyślnych) wartości następujących folderów rejestru (i podfolderów) należy sprawdzić - kierując się zdrowym rozsądkiem :-). Myślę, że ta lista może odzwierciedlać kolejność pierwszeństwa, która jest istotna dla systemu operacyjnego:

[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\" %*"
kxr
źródło