Здравствуйте. Total Commander 9.12 x64, Windows 7.
FB2 - формат художественных книг. Частенько его запаковывают в ZIP-архив. Причем настолько часто, что практически все приличные программы-читалки (Alreader, CoolReader) умеют работать напрямую с архивом, который содержит файл fb2-книги.
Я пытаюсь создать внутреннюю ассоциацию по маске *.fb2.zip, чтобы подходящие архивы открывались в Alreader. Но не получается: значок не меняется, а ZIP-архив открывается TC как обычно (т.е. он "входит" в архив).
Часть настроек из пункта [Assosiations]
Я пытался установить ключ ZIPlikeDirectory=0 в секции [Packer], не помогло, ZIP-архив просто открывается с помощью архиватора, который ассоциирован в проводнике (в моем случае, 7-zip).
Own Little World
Ваши попытки выставить такую внутреннюю ассоциацию применительно к архивам безнадёжны. Да, либо будет выполняться вход в архив, либо открытие архиватором по внешней ассоциации. Двойное расширение игнорируется. Не получится это и при назначении ассоциаций с внешними вьюерами по F3. Пользуйтесь вызовом читалки с использованием переменных по F4 через что-то типа F4Menu, там это работает.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Этот список содержит уже определённые ассоциации. Порядок сортировки определяет приоритет фильтров. Пример: Если вы определили одну ассоциацию для ZIP-файлов, а другую для файлов с атрибутом "только для чтения", то для ZIP-файлов с атрибутом "только для чтения" Total Commander будет использовать тот фильтр, который находится выше в этом списке.
Т.е. в самом тексте справки создание ассоциаций на архивы не исключается. Неужели Кристиан Гислер допустил ошибку при составлении справки?
Avada писал(а):Двойное расширение игнорируется.
А вот раскраска имен файлов и всплывающие подсказки в стиле win32 с удовольствием используют двойное расширение. Хотя почему двойное? Расширение-то одно, просто имя файла в конце содержит точку и после точки еще несколько символов, а уж потом идет расширение файла как таковое.
Avada писал(а):Пользуйтесь вызовом читалки с использованием переменных по F4 через что-то типа F4Menu, там это работает.
Проще тогда открывать архивы через саму программу-читалку. Ну или создать кнопку с параметром %P%N.
Own Little World
В справке всё написано абсолютно правильно, и этот пример с ZIP легко моделируется на двух разных архиваторах (например, WinRAR для архивов "только для чтения" и 7-Zip для простых). Тут действительно работает правило "кто первый встал, тому и тапочки". Но мы-то про другое говорим.
Двойное расширение в TC где-то употребляется нормально, где-то не употребляется вовсе (для внешних вьюеров оно мало того что не работает, его через диалог даже добавить/удалить корректно не удаётся).
Что касается открытия, я не любитель ни создавать кнопки для таких надобностей, ни открывать файлы из самой читалки. Мне F4 в самый раз.
Даже самая богатая фантазия
Не представит себе наши безобразия.
Avada
Спасибо за разъяснение. В принципе, я уже придумал "костыль" - присвоить таким архивам расширение *.fbz, а уж на это расширение повесить ассоциацию с читалкой.
Просто обычно такие архивы (в которых есть книга FB2) сразу имеют имя наподобие tom_sawyer.fb2.zip, хотелось, чтобы они подхватывались сразу.
Написать программу, которая будет при вхождении в zip архив определять его содержимое (либо просто по имени файла) и если подходящий файл, то передавать в нужную программу, иначе во внешний архиватор.
Но тут вроде не настолько часто запускаемый процесс, чтобы как-то заморачиваться. Книжки не каждые 5 минут читают разные. Раз в неделю можно и F4 нажать или перетянуть на панель, где есть кнопка запуска читалки.
Программу для *.zip во внутренних ассоциациях писать бесполезно. Тут только костыли через назначение на ENTER допустимы, но ради одного типа делать это больше во вред, чем на пользу, тем более что не будет учтён даблклик, если не брать во внимание резидентные варианты.
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.