Сбросить ассоциации и значки в default в Total Commander

Обсуждение Total Commander. Установка, использование, настройка, решение проблем, скрытые функции. Обсуждение новых версий.

Модераторы: d-view, Моторокер, Avada, CaptainFlint, Nik

Ответить
Аватара пользователя
angry_dog
Сообщения: 143
Зарегистрирован: Пт ноя 20, 2009 23:05
Откуда: Питер

Сбросить ассоциации и значки в default в Total Commander

Сообщение angry_dog »

После установки MPlayer'a к файлам .dat привязались ассоциации плеера. После неудачных экспериментов по удалению ассоциации, тип файлов dat был удалён и создан заново пустой. В свойствах файла всё стало правильно, в эксплорере отображается тоже правильно, а Total Commander всё равно отображает значок MPlayer'a.

Изображение

Давно обратил внимание что в эксплорере и Total Commander'e значки отображаются по разному. Отчего это зависит? Где можно отредактировать показ значков в Total Commander?
Как, в данной ситуации сбросить отображение значков в default, как в проводнике?
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

angry_dog писал(а):Где можно отредактировать показ значков в Total Commander?
Ничего не напоминает?
Аватара пользователя
angry_dog
Сообщения: 143
Зарегистрирован: Пт ноя 20, 2009 23:05
Откуда: Питер

Сообщение angry_dog »

Flasher
если Вы про команду cm_InternalAssociate, то пробовал. Не получилось. Но, так понимаю, что там как и в експлорере, можно переназначить ассоциации и значки. Мне нужно отвязать и не привязывать никакое приложение. Соответственно и значок должен быть пустым
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

angry_dog писал(а):Соответственно и значок должен быть пустым
Дефолтный - это не обязательно пустой, а ассоциированный некогда системой. Система какая - XP, Виста, 7 ?
Аватара пользователя
angry_dog
Сообщения: 143
Зарегистрирован: Пт ноя 20, 2009 23:05
Откуда: Питер

Сообщение angry_dog »

Flasher писал(а):Система какая? XP, Виста, 7 ?
семёрка
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

А нужно именно пустой значок? Похоже тут придётся через реестр.
Например, сбросить ассоциацию для dat c помощью vbs:

Код: Выделить всё

With CreateObject("WScript.Shell")
.RegWrite "HKCR\.dat\(Default)","","REG_SZ"
End With
Если нужно переназначить, то в 7-ке это делается в диалоге
"Сопоставление типов файлов и протоколов конкретным программам", вызываемом из диалога "Программы по умолчанию": shell:::{17cd9488-1228-4b2f-88ce-4298e93e0966}

Ежели необходимо показывать только значки, воспринимаемые самим ТС, то смотрим справку, там всё написано.
Аватара пользователя
angry_dog
Сообщения: 143
Зарегистрирован: Пт ноя 20, 2009 23:05
Откуда: Питер

Сообщение angry_dog »

Решил так. Привязал MPlayer к dat, нашёл в реестре не просто dat (HKEY_CLASSES_ROOT\.dat), a dat со значением MPlayer (HKEY_CLASSES_ROOT\MPlayer.dat) и удалил этот параметр. Total Commander стал отображать пустой значок.
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

angry_dog
Скрипт один раз выполнить, а в реестр лезть её надо. Смысл? :?
Про лишнюю привязку вообще молчу..
Аватара пользователя
angry_dog
Сообщения: 143
Зарегистрирован: Пт ноя 20, 2009 23:05
Откуда: Питер

Сообщение angry_dog »

Спасибо Вам, Flasher за помощь. Второй раз выручаете
Аватара пользователя
Flasher
Сообщения: 14229
Зарегистрирован: Пт ноя 06, 2009 00:33
Откуда: Москва

Сообщение Flasher »

Пожалуйста. Если надо удалить, а не очистить, то так:

Код: Выделить всё

With CreateObject("WScript.Shell")
.RegDelete "HKCR\.dat\"
End With
Эффект будет тот же. Воссоздать всегда можно с помощью соотв. установщика
или в диалоге "Файловые ассоциации" (cm_Associate).

Можно ещё, в принципе, такую кнопку использовать:

Код: Выделить всё

TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Scripts\DeleteFileAssociation.vbs
%E
wcmicons.dll,69
Удалить системную ассоциацию для расширения файла под курсором
скрипт для неё, соответственно, будет таким:

Код: Выделить всё

With CreateObject("WScript.Shell")
on Error resume Next
.RegDelete("HKCR\."+WScript.Arguments(0)+"\")
.RegDelete("HKCR\"+WScript.Arguments(0)+"_file\")
.RegDelete("HKCR\"+WScript.Arguments(0)+"file\")
End With
Ответить