Latest post of the previous page:
Здравствуйте.Задача:
Настраиваем custom.ini для обработки *.RAR и *.ARJ через custom.fmt и без rar.fmt и без arj.fmt.
Результат:
Всё настроил, протестировал, работают все операции, кроме распаковки и входа внутрь архива по ENTER (или в консоли ma:имя.rar)
Проблема:
Прошу помочь определить переменные Start=, End= и Format0= в custom.ini для *.RAR и *.ARJ, чтобы можно было заходить в архив и распаковывать его.
Описание:
Перерыл сотни сообщений на форумах TC, MA и FAR, пересмотрел и опробовал десятки конфигов в custom.ini и уже отчаялся, поэтому пишу здесь, возможно кто-то из Вас, уважаемые форумчане и разработчики, сможете мне помочь.
Я делаю "портативную сборку" FAR (3.0 build 5273 x86) и в Far.exe.ini прописываю:
Code: Select all
[General]
UseSystemProfiles=0
UserProfileDir=%FARHOME%\Profile
UserLocalProfileDir=%FARHOME%\Profile
TemplateProfile=%FARHOME%\Profile\Default.farconfig
GlobalUserMenuDir=%FARHOME%\Profile
DefaultLanguage=Russian
Хочу объяснить почему мы сознательно не используем rar.fmt и удаляем его из %farhome%\Plugins\MultiArc\Formats\.
Дело в том, что rar.fmt (arj.fmt) будет брать настройки из реестра HKEY_CURRENT_USER\Software\Far Manager\Plugins\MultiArc\RAR, а не из %farhome%\Plugins\MultiArc\Formats\custom.ini, что нам не подходит.
Мы как раз и настраиваем %farhome%\Plugins\MultiArc\Formats\custom.ini для работы с *.RAR, вот рабочий код:
Code: Select all
[RAR]
TypeName=RAR
ID=52 61 72 21
IDOnly=0
Extension=rar
List="%farhome%\Ware\ARC\RAR\rar.exe l -- {-p%W} %AQ"
;Распаковка
Extract="%farhome%\Ware\ARC\RAR\rar.exe x {-p%%P} {-ap%%R} -kb {%%S} -- %%A @%%LNMA"
;Распаковка без путей
ExtractWithoutPath="%farhome%\Ware\ARC\RAR\rar.exe e {-p%%P} -kb {%%S} -- %%A @%%LNMA"
;Тестирование
Test="%farhome%\Ware\ARC\RAR\rar.exe t {-p%%P} -- %%A"
;Удаление
Delete="%farhome%\Ware\ARC\RAR\rar.exe d -k -m5 -mcacdeit -mdg -rr0p -s -t {-w%%W} -- %%A @%%LNMA"
;Архивный комментарий
Comment="%farhome%\Ware\ARC\RAR\rar.exe c -k -m5 -mcacdeit -mdg -rr0p -s -t {-w%%W} -- %%A"
;Файловый комментарий
CommentFiles="%farhome%\Ware\ARC\RAR\rar.exe cf -k -m5 -mcacdeit -mdg -rr0p -s -t {-w%%W} -- %%A @%%LNMA"
;Преобразование в SFX
SFX="%farhome%\Ware\ARC\RAR\rar.exe s -k -m5 -mcacdeit -mdg -rr0p -s -t -- %%A"
;Запрет модификации
Lock="%farhome%\Ware\ARC\RAR\rar.exe k -m5 -mcacdeit -mdg -rr0p -s -t -- %%A"
;Запрет модификации
Protect="%farhome%\Ware\ARC\RAR\rar.exe rr -k -m5 -mcacdeit -mdg -s -t -- %%A"
;Восстановление архива
Recover="%farhome%\Ware\ARC\RAR\rar.exe r -k -m5 -mcacdeit -mdg -rr0p -s -t -- %%A"
;Добавление файлов
Add="%farhome%\Ware\ARC\RAR\rar.exe a -k -m5 -mcacdeit -mdg -rr0p -s -t {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNMA"
;Перенос файлов
Move="%farhome%\Ware\ARC\RAR\rar.exe m -k -m5 -mcacdeit -mdg -rr0p -s -t {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNMA"
;Добавл. файлов и папок
AddRecurse="%farhome%\Ware\ARC\RAR\rar.exe a -r0 -k -m5 -mcacdeit -mdg -rr0p -s -t {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNMA"
;Перенос файлов и папок
MoveRecurse="%farhome%\Ware\ARC\RAR\rar.exe m -r0 -k -m5 -mcacdeit -mdg -rr0p -s -t {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNMA"
AllFilesMask="*.*"
Но проблема теперь в том, что мы не можем зайти по ENTER в архив или распаковать его!
Методом поиска причины, пришёл к выводу что требуется указать в custom.ini переменные, что-то вроде такого вида (взято с форума TC):
Для RAR4x код (взято с форума TC):
Code: Select all
Start=^-----------
End=^-----------
Format0=?nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Format1=zzzzzzzzzzzzzzzzzzzzzz pppppppp dd-tt-yy hh:mm aaaaaaa
Code: Select all
Start=^-----------
End=^-----------
Format0=?aaaaaaaaaa $z+ yyyy tt dd hh:mm n+
Аналогичная проблема с архивами *.ARJ, но немного иного толка - в архив по ENTER проваливаешься, но видишь там только часть файлов, тогда как ArcLite показывает все файлы, вот код custom.ini для *.ARJ:
Code: Select all
[arj]
TypeName=arj
IDOnly=0
Extension=arj
List="%farhome%\Ware\ARC\arj32.exe v -- %%A"
Start=^------------
End=^------------
Format0=* nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Format1=???????????? zzzzzzzzzz pppppppppp yy-tt-dd hh:mm:ss aaaaaa
Format2=?
Format3=?
Extract="%farhome%\Ware\ARC\arj32.exe x -+ {-g%%P} -v -p1 -hf2 -- %%A !%%LM"
ExtractWithoutPath="%farhome%\Ware\ARC\arj32.exe e -+ {-g%%P} -v -p1 -hf2 -- %%A !%%LM"
Test="%farhome%\Ware\ARC\arj32.exe t -+ {-g%%P} -v -p1 -- %%A"
Delete="%farhome%\Ware\ARC\arj32.exe d -+ {-w%%W} -p1 -- %%A !%%LM"
Add="%farhome%\Ware\ARC\arj32.exe a -+ -a1 {-g%%P} {-w%%W} -p -- %%A !%%LM"
AddRecurse="%farhome%\Ware\ARC\arj32.exe a -+ -r -a1 {-g%%P} {-w%%W} -p -- %%A !%%LM"
Move="%farhome%\Ware\ARC\arj32.exe m -+ -a1 {-g%%P} {-w%%W} -p -- %%A !%%LM"
MoveRecurse="%farhome%\Ware\ARC\arj32.exe m -+ -r -a1 {-g%%P} {-w%%W} -p -- %%A !%%LM"
Comment="%farhome%\Ware\ARC\arj32.exe c -+ {-w%%W} -z -- %%A"
CommentFiles="%farhome%\Ware\ARC\arj32.exe c -+ {-w%%W} -p1 -- %%A !%%LM"
SFX="%farhome%\Ware\ARC\arj32.exe y -+ -je -p %%A"
Protect="%farhome%\Ware\ARC\arj32.exe t -+ -a1 -y {-g%%P} {-w%%W} -hk -p {%%S} -- %%a"
Recover="%farhome%\Ware\ARC\arj32.exe x -+ -a1 {-g%%P} {-w%%W} -jr -p {%%S} -- %%a !%%LM"
AllFilesMask="*"
Все конфиги и настройки рисовал сам, немного в проблематике разбираюсь, но как оказалось недостаточно...
Пожалуйста, кто в этом хорошо понимает и разбирается, помогите составить значения этих трёх переменных Start=, End= и Format0= в custom.ini для *.RAR RAR 5.61 x86 и *.ARJ ARJ32 3.20 x86, чтобы можно было полноценно работать с архивами через MultiArc.
Спасибо.