Як відновити зв'язок файлів .bat із системою (змусити їх запускатись при подвійному натисканні)?


68

На що я встановлюю властивість "Відкривається за допомогою ...", щоб змусити систему знову запускати файли .bat (коли вони двічі клацають)?

Якось мій бос переконав свою робочу станцію, що обробником .batфайлів повинен бути Word. Тепер при подвійному клацанні .batфайлів вони відкриваються в Word.


1
Я навіть не можу знайти .BAT у діалоговому вікні асоціацій типу файлів у Windows. І я не можу викликати діалогове вікно "Відкрити ..." у файлі .bat. Як він міг це змінити ??

3
гм ... я здогадуюсь, чому він так бос? ;)

3
клацніть правою кнопкою миші .bat файл -> Відкрити за допомогою ... -> виберіть MS Word, поставте галочку "Завжди відкривати за допомогою цієї програми", натисніть кнопку ОК. бам, ваше розширення тепер зареєстровано у Word.
шарлатанний кіхот

У моїх файлах bat також немає меню "Відкрити за допомогою" (Windows 7) Звичайно, в інших файлах є.
lbalazscs

1
Файли FYI, .bat не є виконуваними файлами. Вони інтерпретуються сценаріями.
Келтарі

Відповіді:


58

Я думаю, вам доведеться видалити асоціацію файлів .bat з реєстру (за допомогою програми regedit).

Відповідно до цієї теми форуму на LockerGnome , вам потрібно видалити налаштування реєстру під цим ключем:

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

Ви, ймовірно, захочете створити резервну копію реєстру, перш ніж робити це, лише для того, щоб бути безпечним.


28
Що стосується вас мінімалістів, я додам, що я мав успіх, видаливши лише підпапку UserChoice. Як тільки його не було, поведінку Execute за замовчуванням було відновлено. HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts \ .bat \ UserChoice
Марк F Guerra

Я видалив увесь .batключ і все прийшло в норму. Чомусь (я підозрюю антивірус) я не зміг перейменувати UserChoiceключ.
Кім Грусман

Такий біль !! і це сталося автоматично під час оновлення. Дякую купу MS.
Jus12

На шляху HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.batя повністю видалив UserChoiceключ, який добре працював для мене. @Kim - можливо, ви не працювали regedt32як адміністратор (клацніть правою кнопкою миші та виберіть Run as administrator)?
Метт

Існує багато інших можливих причин / місць реєстру. Дивіться інші відповіді, і мою відповідь пробую підсумок.
kxr

32

Цей файл ключа реєстру зробить це. Скопіюйте та вставте у текстовий файл під назвою "Resto.reg" та двічі клацніть його, щоб об’єднатись у реєстр.

Це очистить будь-які налаштування для кожного користувача, які, можливо, були випадково створені для файлів .bat, і відновить системні параметри за замовчуванням, включаючи відношення типу .bat<-> batfile, а також фактичні параметри для запуску 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\" %*"

також довелося запускати cmd-файли на моїй машині
mohlsen

1
Я використовував цей, на, здається, працює добре.
Гокон К. Олафсен

Після цього під час подвійного клацання bat-файлу я отримую помилку на кшталт "a.bat не є дійсною програмою win32"
rashok

Працює чудово, але щоб вплинути, мені довелося знову вбити explorer.exeі запустити як нове завдання за допомогою диспетчера завдань.
Дейв Андерсон

Цей вирішив, якщо для мене обрана відповідь не була. Прохання відкрити додаток .bat файли.
JDuarteDJ

10

У мене була така ж проблема (в Windows 7); Пакетні файли відкривалися в Блокноті, а не виконувалися.

Якщо виправити нижченаведений реєстр файлів .bat (як і на будь-якій іншій машині, де він працює), пакет буде виконано правильно:

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 

Зберігайте ці записи, але видаліть усі інші .bat. Оновіть і запустіть пакетний файл, подвійним клацанням - він буде працювати правильно.


7

Жоден з вищезазначених відповідей не зафіксував це для машини, з якою я працював, але те, що виправлено, було запускати адміністративну оболонку і працювати

assoc .bat=batfile
assoc .cmd=batfile

1
Це рішення для Win 2008 Server, cmd запускається як адміністратор. Не потрібно перезавантажувати Explorer.exe або Windows.
TonyG

Не працюють?????????????????
YumYumYum

2
Це працювало для мене в Windows 10
htxryan

ні, не працював на Windows Server 2012
Інструментарій

З Run as Administrator, це працювало мені ідеально для Windows 10 !! :-) Тепер (встановіть) .exe файли, які викликають файли .bat, працюють як слід. Це рішення набагато краще, ніж не возитися з реєстром! Як сторонне позначення, щоб побачити, що таке поточна асоціація, просто введіть assoc .batУ моєму випадку обидва .batі cmd були пов’язані як Notepad++_file. Тепер, коли вони є .batfile, клацання правою кнопкою миші на файлах bat дозволяє мені запустити або запустити як адміністратор. До цього це було неможливо. Раніше моїм вирішенням було відкрити вікно cmd, потім вручну ввести a, filename.batщоб запустити файл
SherylHohman


2

Відповідь, яка отримала 40 голосів від Калеба, не працювала для мене, але я нарешті знайшов відповідь. Щоб знову зробити файл bat, потрібно перейти до:

[HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes.bat] і встановіть (за замовчуванням) "batfile". Якщо у вас в Word або Notepad ++ відкриваються пакетні скрипти замість того, щоб працювати подвійним клацанням, це тому, що ці програми встановили (за замовчуванням) свої міми.

Якщо ви хочете швидко виправити, просто відкрийте текстовий файл і вставте:

    Windows Registry Editor Version 5.00

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

І збережіть його за допомогою розширення .reg та двічі клацніть для об’єднання.


1

У реєстрі ви .bat запис повинен вказувати на запис batfile :

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

Звичайно, вам також потрібно буде переконатися, що у вас є запис реєстру batfile :

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

1

У Windows 8 використовуйте Блокнот для створення або зміни файлу Batch, але секрет полягає в наступному:

Збережіть пакетний файл, використовуючи подвійні лапки. Буквально використовуйте "MYBACK.BAT", використовуючи подвійні лапки у полі збереження, щоб зберегти файл. Замість MYBACK.BAT


Правда (те саме для попередніх версій Windows / Notepad). Але як це відповідає на питання?
Ар'ян

0

Вміст реєстру відрізняється для різних версій Windows.

Я пропоную вам знайти інший комп'ютер з тією ж версією O / S та використовувати regedit для експорту вмісту HKEY_CLASSES_ROOT\.batта HKEY_CLASSES_ROOT\batfile.

Потім перейдіть до машини Боса, видаліть вищевказані клавіші та імпортуйте два файли.


0

Щоб уникнути клопоту (а також для багатьох людей убогості та залякування) редагування реєстру, ви можете скористатися безкоштовною, чудовою та неінвазивною утилітою ремонту, яка фактично дає будь-яку користь (порівняно з багатьма іншими програмними засобами), tweaking.com Windows Repair .

Конкретно: встановіть його, пропустіть на вкладку «Ремонт», натисніть «Відкрити ремонт» та поставте галочку у «04 Реєструвати системні файли», потім натисніть кнопку «Почати ремонт».

Користувацький інтерфейс цієї програми з часом змінився, тому в майбутньому, комусь це робити, можливо, доведеться вивчити програму, щоб знайти цю опцію.

Я б загрожував припущенням, що на комп'ютері вашого Boss існує багато інших проблем, так що він може захотіти виконати всі ремонти програми, що може зайняти години, в залежності.

Примітка: я не пов'язаний з tweaking.com; Я просто великий фанат програми. Уміле його використання врятувало операційну систему мого комп'ютера або кілька разів вирішило вперті проблеми.


0

Знову ж таки, жодна з попередніх відповідей не зробила тут.
Мені, наприклад, довелося змінити значення за замовчуванням [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\batfile\shell] з editна на open.

(Після того як я змінив асоціації розширення типу файлу в діалоговому вікні параметрів провідника. Файли BAT не пропонуються для змін. Здається, є особливим винятком. Але я пам'ятаю, як тільки я додав тип BAT у діалоговому вікні параметрів папки Explorer , щоб отримати "редагувати" дієслово оболонки за замовчуванням.)

Різні місця для огляду

Отже, врешті-решт існують різні причини та різні версії ОС, і (принаймні) значення (за замовчуванням) наступних папок реєстру (та підпапок) потрібно перевірити - використовуючи певний здоровий глузд :-). І я думаю, що цей список може відображати порядок пріоритетності, що стосується ОС:

[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\" %*"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.