Страница 1 из 1

Внутренние ассоциации для файлов *.fb2.zip

Добавлено: Вс дек 03, 2017 12:33
Own Little World
Здравствуйте. Total Commander 9.12 x64, Windows 7.
FB2 - формат художественных книг. Частенько его запаковывают в ZIP-архив. Причем настолько часто, что практически все приличные программы-читалки (Alreader, CoolReader) умеют работать напрямую с архивом, который содержит файл fb2-книги.
Я пытаюсь создать внутреннюю ассоциацию по маске *.fb2.zip, чтобы подходящие архивы открывались в Alreader. Но не получается: значок не меняется, а ZIP-архив открывается TC как обычно (т.е. он "входит" в архив).
Часть настроек из пункта [Assosiations]

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

Filter2=*.fb2.zip
Filter2_open=G:\Utilities\AlReader\AlReader2.exe "%1"
Filter2.icon=G:\Utilities\AlReader\fb2.ico
Я пытался установить ключ ZIPlikeDirectory=0 в секции [Packer], не помогло, ZIP-архив просто открывается с помощью архиватора, который ассоциирован в проводнике (в моем случае, 7-zip).

Добавлено: Вс дек 03, 2017 13:14
Avada
Own Little World
Ваши попытки выставить такую внутреннюю ассоциацию применительно к архивам безнадёжны. Да, либо будет выполняться вход в архив, либо открытие архиватором по внешней ассоциации. Двойное расширение игнорируется. Не получится это и при назначении ассоциаций с внешними вьюерами по F3. Пользуйтесь вызовом читалки с использованием переменных по F4 через что-то типа F4Menu, там это работает.

Добавлено: Вс дек 03, 2017 14:14
Own Little World
Avada
Дело в том, что в справке написано:
Этот список содержит уже определённые ассоциации. Порядок сортировки определяет приоритет фильтров. Пример: Если вы определили одну ассоциацию для ZIP-файлов, а другую для файлов с атрибутом "только для чтения", то для ZIP-файлов с атрибутом "только для чтения" Total Commander будет использовать тот фильтр, который находится выше в этом списке.
Т.е. в самом тексте справки создание ассоциаций на архивы не исключается. Неужели Кристиан Гислер допустил ошибку при составлении справки?
Avada писал(а):Двойное расширение игнорируется.
А вот раскраска имен файлов и всплывающие подсказки в стиле win32 с удовольствием используют двойное расширение. Хотя почему двойное? Расширение-то одно, просто имя файла в конце содержит точку и после точки еще несколько символов, а уж потом идет расширение файла как таковое.
Avada писал(а):Пользуйтесь вызовом читалки с использованием переменных по F4 через что-то типа F4Menu, там это работает.
Проще тогда открывать архивы через саму программу-читалку. Ну или создать кнопку с параметром %P%N.

Avada, спасибо за оперативный ответ.

Добавлено: Вс дек 03, 2017 18:19
Avada
Own Little World
В справке всё написано абсолютно правильно, и этот пример с ZIP легко моделируется на двух разных архиваторах (например, WinRAR для архивов "только для чтения" и 7-Zip для простых). Тут действительно работает правило "кто первый встал, тому и тапочки". Но мы-то про другое говорим.
Двойное расширение в TC где-то употребляется нормально, где-то не употребляется вовсе (для внешних вьюеров оно мало того что не работает, его через диалог даже добавить/удалить корректно не удаётся).
Что касается открытия, я не любитель ни создавать кнопки для таких надобностей, ни открывать файлы из самой читалки. Мне F4 в самый раз.

Добавлено: Вс дек 03, 2017 18:26
Own Little World
Avada
Спасибо за разъяснение. В принципе, я уже придумал "костыль" - присвоить таким архивам расширение *.fbz, а уж на это расширение повесить ассоциацию с читалкой.
Просто обычно такие архивы (в которых есть книга FB2) сразу имеют имя наподобие tom_sawyer.fb2.zip, хотелось, чтобы они подхватывались сразу.

Добавлено: Вс дек 03, 2017 18:34
Avada
Own Little World
Да я прекрасно знаю, какое у них имя, у самого такого добра предостаточно. В общем, "думайте сами, решайте сами".

Добавлено: Пн янв 08, 2018 21:11
Моторокер
Написать программу, которая будет при вхождении в zip архив определять его содержимое (либо просто по имени файла) и если подходящий файл, то передавать в нужную программу, иначе во внешний архиватор.

Но тут вроде не настолько часто запускаемый процесс, чтобы как-то заморачиваться. Книжки не каждые 5 минут читают разные. Раз в неделю можно и F4 нажать или перетянуть на панель, где есть кнопка запуска читалки.

Добавлено: Пн янв 08, 2018 22:11
Flasher
Программу для *.zip во внутренних ассоциациях писать бесполезно. Тут только костыли через назначение на ENTER допустимы, но ради одного типа делать это больше во вред, чем на пользу, тем более что не будет учтён даблклик, если не брать во внимание резидентные варианты.