Выполняя подобные «шалости», недостаточно просто следовать пошаговым инструкциям или пакетным сценариям; лучше узнать что-то о том, как хранятся фактические данные - потом их будет легче восстановить.
Все ассоциации файлов хранятся в реестре, который можно редактировать с помощью 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; например, указывает на .HKCR\.extn\(Default)
.exe
HKCR\exefile
(Тем не менее, в редких случаях вся информация находится непосредственно под ключом расширения и содержит описание. Однако, они кажутся очень редкими - возможно, остатки Windows 9x или 3.x ...)HKCR\.extn\(Default)
Сделайте резервные копии. reg save HKLM\Software\Classes hklm-classes.hiv
Также помните, что командная строка не заботится о расширениях; Если вы попытаетесь запустить исполняемую программу, она всегда будет работать независимо от того, как она называется или с чем связано ее расширение.