MultiArc: Archive support plugin — Модуль работы с архивами
Posted: Sun 25 Oct, 2020 21:30
Latest post of the previous page:
citRiks, мне одному кажется, что функционал мультиарка легко делается панельным модулем на ЛУА?Far Manager Forum
https://forum.farmanager.com/
Latest post of the previous page:
citRiks, мне одному кажется, что функционал мультиарка легко делается панельным модулем на ЛУА?После дерева мне почти ничего не кажется сложным. Тем более, что дерево строится и по архиву. Т.е. надо только задать команды для получения списка, вытаскивания и запихивания файла - и, кажется, остальное - лишнее.
Вот это действительно удобная вещь, которую почему-то не умеет 7-zip (и соответственно arclite).
PS. У RAR5 другая сигнатура: 52 61 72 21 1A 07 01По умолчанию WinRAR создаёт архивы в формате RAR5. Чтобы создавать архивы RAR4, используйте ключ -ma4. Ключ -ma5 или просто -ma нужен для отмены действия -ma4, сохранённого в конфигурации, и принудительного использования формата RAR5.
Там много всего, что, возможно, для других не принципиально (скажем, мне категорически не нравится структура разбиения на тома, начиная с 5 версии). В общем, хочу, если это возможно, чтобы были и старая, и новая: можно, конечно, держать еще одну копию FAR с другим FMT, но это как-то криво совсем.
Code: Select all
[RAR]
TypeName=RAR
ID=52 61 72 21 1A 07 00
IDPos=0
Extension=rar
List=rar l --
Start="-----------"
End="-----------"
Format0="/^\s+(?P<attr>[^\|]+)\s+(?P<size>\d+)\s+(?P<mYear>\d+)\-(?P<mMonth>\d+)\-(?P<mDay>\d+)\s+(?P<mHour>\d+):(?P<mMin>\d+)\s+(?P<name>.*?)\s*$/"
Extract=rar {-p%%P} {-ap%%R} -y -c- -kb -- %%A @%%LNMA
ExtractWithoutPath=rar5 e {-p%%P} -y -c- -kb -- %%A @%%LNMA
Test=rar t -y {-p%%P} -- %%A
Delete=rar d -y {-w%%W} -- %%A @%%LNMA
Comment=rar c -y {-w%%W} -- %%A
CommentFiles=rar c -y {-w%%W} -- %%A
SFX=rar c -y -- %%A
Lock=rar k -y -- %%A
Protect=rar rr -y -- %%A
Recover=rar r -y -- %%A
Add=rar a -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA
Move=rar m -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA
AddRecurse=rar a -r0 -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA
MoveRecurse=rar m -r0 -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA
AllFilesMask="*.*"
[RAR5]
TypeName=RAR5
ID=52 61 72 21 1A 07 01 00
Extension=rar
IDPos=0
List=rar5 l --
Start="-----------"
End="-----------"
Format0="/^\s+(?P<attr>[^\|]+)\s+(?P<size>\d+)\s+(?P<mYear>\d+)\-(?P<mMonth>\d+)\-(?P<mDay>\d+)\s+(?P<mHour>\d+):(?P<mMin>\d+)\s+(?P<name>.*?)\s*$/"
Extract=rar5 {-p%%P} {-ap%%R} -y -c- -kb -- %%A @%%LNMA
ExtractWithoutPath=rar5 e {-p%%P} -y -c- -kb -- %%A @%%LNMA
Test=rar5 t -y {-p%%P} -- %%A
Delete=rar5 d -y {-w%%W} -- %%A @%%LNMA
Comment=rar5 c -y {-w%%W} -- %%A
CommentFiles=rar5 c -y {-w%%W} -- %%A
SFX=rar5 c -y -- %%A
Lock=rar5 k -y -- %%A
Protect=rar5 rr -y -- %%A
Recover=rar5 r -y -- %%A
Add=rar5 a -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA
Move=rar5 m -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA
AddRecurse=rar5 a -r0 -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA
MoveRecurse=rar5 m -r0 -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA
AllFilesMask="*.*"
Вы будете смеяться, но теперь не работает листинг и для RAR2.90 . Что-то не так с форматом команды list - факт! Пробовал разные варианты - без толку все
Code: Select all
[RAR]
TypeName=RAR
ID=52 61 72 21 1A 07 00
IDPos=0
Extension=rar
List=rar v --
Start="/^-----/"
End="/^------/"
Format0="/^\s(?P<name>.*?)\s*$/"
Format1=" zzzzzzzzzzzz pppppppp dd tt yy hh mm aaaaaaa rrrrrrrr"
Extract=rar {-p%%P} {-ap%%R} -y -c- -kb -- %%A @%%LNMA
ExtractWithoutPath=rar e {-p%%P} -y -c- -kb -- %%A @%%LNMA
Test=rar t -y {-p%%P} -- %%A
Delete=rar d -y {-w%%W} -- %%A @%%LNMA
Comment=rar c -y {-w%%W} -- %%A
CommentFiles=rar c -y {-w%%W} -- %%A
SFX=rar c -y -- %%A
Lock=rar k -y -- %%A
Protect=rar rr -y -- %%A
Recover=rar r -y -- %%A
Add=rar a -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA
Move=rar m -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA
AddRecurse=rar a -r0 -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA
MoveRecurse=rar m -r0 -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA
AllFilesMask="*.*"
Да, теперь листинг RAR2.90 отдается, а для 5.0 по прежнему нет. Но в 2.90 появилась проблема: например, при создании SFX-архива или его трансформации из RAR он не читается (даже зайти по Ctrl+PgDn для просмотра не получается). А вот если работать с использованием FMT, то можно не только зайти, но и изменять (добавлять/удалять), причем, много-томные архивы. Кстати, при использовании FMT для 5 версии вместо 2.9 тоже весь функционал сохраняется, причем, работает даже, если rar.exe будет версии 4.20: все манипуляции, которым я пользуюсь (включая модификация содержимого вложенных архивов древовидной структуры каталогов в многотомных архивах), работают четко, и, как это ни странно, при этом даже содержимое RAR5-архива (список) удается прочесть, но не более того (Unsupported archive format).