Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Multiarc плагины и аддоны для FAR и Total Commander

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

Открыть новую тему     Написать ответ в эту тему

TCPIP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Эта тема посвящена вопросам написания архиваторных плагинов для поддержки специфических архиваторов, отсутствующих в стандартных поставках multiarc-плагина для файл-менеджеров Total Commander, Double Commander и FAR.
Предполагается обсуждение возможности написания собственной универсальной мультиархиваторной оболочки для Win32/64 с поддержкой полноценной интеграции в Проводник и отвечающей современным стандартам архиваторных оболочек.
 
Multiarc - Homepage, Зеркало, более доступный интерфейс
Неофициальная 64-битная версия без изменений функционала оригинала
Последняя неофициальная версия, в т.ч. 64-битная (предыдущая версия)
Для новичков:
Файл конфигурации для Multiarc от "TychoBarfys"
Некоторые архиваторы, поддерживаемые Multiarc подробнее
найденные решения аддонов
как увидеть какую командную строку передает multiarc архиватору: подробнее
 
Примечание.
Multiarc в Double Commander реализован не в виде отдельного плагина, а внедрен в код самой программы. Однако, хотя структура multiarc.ini несколько отличается - параметры несколько другие, некоторых команд, присутствующих в total-овском, нет, зато есть свои, большая часть команд и описаний форматов архивов идентичны. DC сам преобразовывает total-овский multiarc.ini в свой формат при сохранении. Настройки аддонов доступны из интерфейса самого DC. Описание структуры multiarc.ini имеется в оффлайн документации. Также возможно и применение отдельного Multiarc-а от Total-а.

Всего записей: 4667 | Зарегистр. 31-01-2003 | Отправлено: 23:54 10-05-2005 | Исправлено: Skif_off, 12:05 21-11-2014
arsvrn

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Насколько мне известно, идея создания некоей универсальной оболочки для обеспечения использования произвольных внешних архиваторов принадлежит Евгению Рошалю и впервые реализована в плагине Miltiarc для файл-менеджера Far. Значительно позднее, после появления в WindowsCommander'e возможности подключения внешних плагинов, Siarzhuk Zharski написал WCX-Multiarc плагин для WC, идеологически очень сходный с Far'овским и использующий подобный язык описания работы с архиваторами.
Основным достоинством Multiarc'овского подхода является возможность единообразной работы с любым внешним архиватором, поддерживающим работу с командной строкой и имеющим минимально необходимый набор команд.
Это обеспечивается путем описания в ini-файле на некоем универсальном языке правил управления архиватором для выполнения стандартных операций получения листинга архива, архивации и т.д.
Используя эти правила и язык пользователь может подключить к файл-менеджеру новый архиватор или настроить под свои нужды имеющийся в наборе.
 
В темах форума об архиваторах, Far'e, Total Commander'e уже не раз возникали вопросы о коррекции или о написании новых аддонов.
 
Если не будет возражений, то в этой теме я хотел бы поделиться своим опытом работы с ini-файлами Multiarc'ов и послушать мнения других .

Всего записей: 1237 | Зарегистр. 08-09-2004 | Отправлено: 23:24 11-05-2005
arsvrn

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для полноценной работы с архивами Multiarc должен уметь выполнять три основных типа операций.
1. При выполнении архивирования - передача архиватору через командную строку команды на архивацию, списка управляющих режимами ключей и списка архивируемых каталогов и файлов.
2. При выполнении извлечения из архива - передача архиватору через командную строку команды на извлечение, списка управляющих режимами ключей и списка извлекаемых каталогов и файлов.
3. При входе в архив необходимо выполнить несколько операций. Сначала определить формат архива (и, соответственно, каким архиватором с ним работать). Потом передать выбранному архиватору через командную строку команду на вывод листинга содержимого архива со списком управляющих ключей. И, наконец, разобраться с выведенным листингом, чтобы получить список содержащихся в архиве каталогов и файлов.
Все это описывается в ини-файле с помощью зарезервированных слов (директив) и модификаторов. Их описание приводится в ини-файлах Multiarc'a для ТС и Far.
Подробнее...
Про разбор листинга - в следующей серии .

Всего записей: 1237 | Зарегистр. 08-09-2004 | Отправлено: 23:37 15-05-2005 | Исправлено: arsvrn, 11:59 11-06-2005
arsvrn

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Одно из основных достоинств Multiarc заключается в том, что с его помощью файл-менеджер может работать с архивами, как с папками. Чтобы это обеспечить, Multiarc должен уметь разбирать содержимое архива и представлять его файл-менеджеру. Поскольку Multiarc предназначен для работы с различными типами архивов, он пользуется командами соответствующих архиваторов для вывода листинга архива, затем разбирает его и передает файл-менеджеру в виде списка файлов и папок.
Для задания Multiarc'у правил разбора листинга используются директивы Start, End, Format0...FormatN. Они прописываются в файле Multiarc.ini отдельно для каждого архиватора.
Подробнее...
Таким образом, с помощью директив Start, End, Format0 и Format1 описывается набор правил для Multiarc'а, по которым он теперь может узнать из листинга архиватора содержимое архива и передать его файл-менеджеру.
Далее остается описать построение команд на архивацию, разархивацию, удаление и т.д. и методы передачи архиватору списков обрабатываемых файлов и папок.

Всего записей: 1237 | Зарегистр. 08-09-2004 | Отправлено: 14:40 25-05-2005 | Исправлено: arsvrn, 16:31 25-05-2005
arsvrn

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Для того, чтобы Multiarc мог работать с различными архиваторами, он должен уметь передавать им команды для работы с архивами в соответствии с их системой команд. Для этого применяется набор директив, описывающий некий универсальный набор действий, достаточных для работы с архивами.
Основными из них я бы назвал следующие (поддерживаются почти всеми архиваторами):
Подробнее...
Существуют и другие, дополнительные директивы. Они описывают, например, команды создания SFX-архивов, защиты архивов и т.д. Также есть директивы для указания способа обработки ошибок, режима отладки и другие.

Всего записей: 1237 | Зарегистр. 08-09-2004 | Отправлено: 22:48 03-06-2005 | Исправлено: arsvrn, 22:50 03-06-2005
Yarylo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arsvrn
MutiArc plugin for Total Commander with 7z supporting
- хороший плагин, но видает ошибку при распаковке файлов с русскими символами из 7з архивов. Никто не знает как ето исправить?

Цитата:
Executed command ... returned error level 2...

вот кусок Multiarc.ini по 7z

Цитата:
[7Z]
ID=37 7A BC AF 27 1C  
IDPos=0
Extension=7z
Archiver="d:\Program\7-ZIP\7z.exe"
List="%P l %AQA"
Start="^-------------------"
End="^-------------------"
Extract="%P e -y {%S} %AQA @%LQ"
ExtractWithPath="%P x -y {%S} %AQ @%LQ"
Test="%P t -y {%S} %AQA"
Delete="%P d -y -r {%S} %AQA @%LQ"
Add="%P a -mx -y -r {%S} %AQA @%LQ"
Description="7-Zip 2.30 beta 24"
Format0=yyyy tt dd hh mm ss aaaaa zzzzzzzzzzzz pppppppppppp  nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
IgnoreErrors=0
Debug=0
UnixPath=0
SkipDirsInFileList=0
SkipEmptyNames=1
BatchUnpack=1
SearchForUglyDirs=0
 

Всего записей: 2344 | Зарегистр. 05-12-2004 | Отправлено: 00:02 01-08-2005
arsvrn

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yarylo

Цитата:
видает ошибку при распаковке файлов с русскими символами из 7з архивов

Поставь в строке
ExtractWithPath="%P x -y {%S} %AQ @%LQ"
вместо %AQ ключ %AQA (как в Extract=...). Должно заработать.
Правда, если у тебя действительно версия "7-Zip 2.30 beta 24", то проверить не смогу, у меня такой старой нет.

Всего записей: 1237 | Зарегистр. 08-09-2004 | Отправлено: 12:39 01-08-2005
Yarylo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arsvrn

Цитата:
вместо %AQ ключ %AQA (как в Extract=...). Должно заработать.  

Заработало! С пасибо! Я использую версию 4,23

Всего записей: 2344 | Зарегистр. 05-12-2004 | Отправлено: 23:43 01-08-2005
Yarylo



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Почему 7z запакоковывает и распаковывает заметно медленнее при использовании
MutiArc plugin for Total Commander? Я что-то делаю не так?

Всего записей: 2344 | Зарегистр. 05-12-2004 | Отправлено: 23:31 03-08-2005
arsvrn

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yarylo

Цитата:
Почему 7z запакоковывает и распаковывает заметно медленнее

Медленнее чем что?

Всего записей: 1237 | Зарегистр. 08-09-2004 | Отправлено: 23:36 03-08-2005
TCPIP

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arsvrn
23:36 03-08-2005
Цитата:
Медленнее чем что?

Видимо, чем standalone 7-Zip.

Всего записей: 4667 | Зарегистр. 31-01-2003 | Отправлено: 00:29 04-08-2005
arsvrn

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Yarylo
TCPIP

Цитата:
Почему 7z запакоковывает и распаковывает заметно медленнее

Абсолютно одинаковая скорость.
Специально поставил полный 7-zip для сравнения (сроду не ставил - всегда работал через файл-менеджеры+7za). Пробовал архивировать различные набора файлов размером до 80 МБ, при этом время составляло до 4 мин. Различие по времени - не более 1 сек.
Причина различной скорости может быть только одна: разные установки опций архиватора для случаев через Multiarc и standalone 7-Zip. Сравните хотя-бы размеры получившихся архивов. У меня, естественно, совпали до бита, так как опции одинаковые.
 
TCPIP
Загляни в ПМ.

Всего записей: 1237 | Зарегистр. 08-09-2004 | Отправлено: 10:54 04-08-2005
estimated



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Большое достоинство архитектуры FAR в том, что он может передавать MultiArc'у на обработку все файлы, с любыми расширениями, и идентификацию типа архива MultiArc может производить по заголовку файла, не будучи связанным расширением файла. После обработки MultiArc'ом файл может быть передан на обработку другому плагину.
(Те, кто разбирался с InstallShield-архивами, у который существует несколько разных версий, хорошо поймут, насколько важен указанный момент.)
К сожалению, ситуация с разработкой FAR'а плачевная, выход из бета-тестирования произойдет, наверное, уже не при нашей жизни.
 
Большой недостаток архитектуры Total commander это то, что он может отдавать файлы MultiArc'у только по расширению - т.е. ограниченный набор файлов с конкретными расширениями (сам MultiArc Сергея Жарского может идентифицировать тип архива по заголовку, но TC не дает ему этим воспользовать в полной мере). Файл не может быть дополнительно (или в случае неудачной обработки, например, если окажется, что MultiArc не поддерживает данный тип файлов) передан другому плагину или самому TC. С другой строны, TC - очень стабильная, хорошо поддерживаемая и развивающаяся программа.
 
Поправьте, если в чем-то ошибаюсь.
 
Поддерживаю идею написания оболочки для работы с архиваним любых типов (сам уже давно вынашиваю такую идею).

Всего записей: 1088 | Зарегистр. 15-02-2002 | Отправлено: 19:34 05-08-2005
arsvrn

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
estimated

Цитата:
Большой недостаток архитектуры Total commander это то, что он может отдавать файлы MultiArc'у только по расширению

Это не так. ТС запросто передает файлы с любым (даже не зарегистрированным) расширением MultiArc'у. Только в такой архив надо входить не по Enter, а по Ctrl-PageDown
Что касается Вашего вопроса в четырех! (если не ошибаюсь) топиках

Цитата:
как конвертировать папки в архивы?

то он меня заинтересовал, попытаюсь что-нибудь придумать (если, конечно, получится). Пока в голову лезет только батник какой-нибудь.
 
Добавлено:
Есть способ. Описал в WinRAR.

Всего записей: 1237 | Зарегистр. 08-09-2004 | Отправлено: 23:48 05-08-2005
estimated



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Это не так. ТС запросто передает файлы с любым (даже не зарегистрированным) расширением MultiArc'у.

Т.е. любой файл в TC, на котором я нажимаю Ctrl-Enter, проходит обработку MultiArc'ом? Что-то не похоже. В конфигураторе packer extensions надо явно задавать именно расширения файлов, которые будут отдаваться MultiArc'у.

Цитата:
 в четырех!  

в трех ;) : плагины TC, WinRAR, 7-zip

Всего записей: 1088 | Зарегистр. 15-02-2002 | Отправлено: 03:05 06-08-2005 | Исправлено: estimated, 03:06 06-08-2005
arsvrn

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
estimated

Цитата:
Что-то не похоже

Попробуйте, например, взять любой архив (из multiarc'овских), изменить ему расширение и войти по Ctrl-PgDn (а не по Ctrl-Enter). Все получится

Всего записей: 1237 | Зарегистр. 08-09-2004 | Отправлено: 11:13 06-08-2005
Viewgg



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
estimated
arsvrn
Multiarc из FAR тоже "видит" свои архивы очень чётко. Например, у меня были на компе архивы *.uha двух несовместимых форматов: UHARC 0.4 и UHARC 0.6. Первый архиватор был с графической оболочкой, второй прикручен к FAR. Так вот, при простом нажатии ENTER на архивах от UHARC 0.4 запускался внешний архиватор с графической оболочкой, а при нажатии на архивах UHARC 0.6 они открывались с помощью Multiarc, хотя расширение - то же самое.
Истинный фотмат архива видят не только FAR и TC, но и многие популярные графические архиваторы, например WinRAR и 7-zip (первый позволяет открыть архив со "странным" расширением через контекстное меню, второй использует ту же комбинацию Ctrl-PgDn)

----------
Клуб "Вы"-кателей Руборда

Всего записей: 2965 | Зарегистр. 07-12-2004 | Отправлено: 19:21 06-08-2005
arsvrn

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Viewgg

Цитата:
Multiarc из FAR тоже "видит" свои архивы очень чётко

Конечно "видит". Ведь для распознавания типа архива и предназначена запись ID (и IDPos) в инишниках Multiarc'ов FAR и ТС (о чем и написано выше ).
Кстати и UHARC 0.4 и UHARC 0.6 вполне можно прикрутить к Multiarc'у. Надо только задать две записи в ини-файле с разными ID'ами и вызовом разных версий UHArc.

Всего записей: 1237 | Зарегистр. 08-09-2004 | Отправлено: 20:51 06-08-2005
estimated



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
arsvrn

Цитата:
Попробуйте, например, взять любой архив (из multiarc'овских), изменить ему расширение и войти по Ctrl-PgDn (а не по Ctrl-Enter). Все получится

 
А вот не получается. Только что попробовал на .hdr (InstallShield). По Ctrl-PgDn открывается нормально (через TC-MultiArc). Меняю расширение - и не открывается.

Всего записей: 1088 | Зарегистр. 15-02-2002 | Отправлено: 04:11 07-08-2005
arsvrn

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
estimated

Цитата:
Меняю расширение - и не открывается

А у меня прекрасно открывается (в том числе и .hdr).
У Вас в инишнике есть такие строки?
[InstallShield6]
ID=49 53 63 28 0C
IDPos=0
Extension=CAB, HDR
 
Если есть, и все равно не открывается, приведите InstallShield'овский кусок своего инишника. Разберемся (если у других работает, то и у Вас должен ).

Всего записей: 1237 | Зарегистр. 08-09-2004 | Отправлено: 10:02 07-08-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55

Компьютерный форум Ru.Board » Компьютеры » Программы » Multiarc плагины и аддоны для FAR и Total Commander

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2018

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru