Выполняя подобные "шалости", недостаточно просто следовать пошаговым инструкциям или пакетным сценариям; Лучше знать что-то о том, как хранятся фактические данные - потом их будет легче восстановить.
Все ассоциации файлов хранятся в реестре, который можно редактировать с помощью regedit или reg. Оболочка ищет их в HKEY_CLASSES_ROOT
, который представляет собой объединенное представление HKEY_LOCAL_MACHINE\Software\Classes
(для всей системы) и HKEY_CURRENT_USER\Software\Classes
(для локальных пользователей).
- [
HKEY_CLASS_ROOT
]
- [
.txt
]
- (по умолчанию) = "
txtfile
" - указатель на другой ключ в HKCR
- [
txtfile
]
- (по умолчанию) = "
Text Document
" - текстовое описание, отображаемое в Проводнике.
- [
shell
] - действия для двойного щелчка и контекстного меню
- (по умолчанию) = (не установлено) - действие, которое нужно использовать при двойном щелчке; по умолчанию "
open
"
- [
open
]
- (по умолчанию) = (не установлено) - метка, отображаемая в контекстном меню; по умолчанию "
Open
"
- [
command
]
- (по умолчанию) = "
%SystemRoot%\system32\NOTEPAD.EXE %1
"
Для большинства расширений HKCR\.extn\(Default)
указывает на ключ типа файла под тем же HKCR; например, .exe
указывает на HKCR\exefile
.
(Однако в редких случаях вся информация находится непосредственно под ключом расширения, а HKCR\.extn\(Default)
содержит описание. Они, кажется, очень редки - может быть, остатки Windows 9x или 3.x ...)
Сделайте резервные копии. reg save HKLM\Software\Classes hklm-classes.hiv
Также помните, что командная строка не заботится о расширениях; если вы попытаетесь запустить исполняемую программу, она всегда будет работать независимо от того, как она называется или с чем связано ее расширение.