Здравствуйте.
Задача:
Настраиваем
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
Эта "портативная cборка" представляет из себя стабильную сборку с официального сайта
FAR, где в каталоге
%FARHOME%\Ware "прикручены" скрипты и рабочие программы, и далее сборка распространяется по всем подсетям и доменам предприятия, где пользователи уже работают с тем или иным ПО, в том числе с архивами
*.RAR и
*.ARJ.
Хочу объяснить почему мы сознательно не используем
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="*.*"
Все операции с каталогами и файлами доступны и работают - мы можем заархивировать, сделать SFX архив, перенести в архив с удалением и т.п.,
Но проблема теперь в том, что мы не можем зайти по ENTER в архив или распаковать его!
Методом поиска причины, пришёл к выводу что требуется указать в
custom.ini переменные, что-то вроде такого вида (взято с форума TC):
Для RAR4x код (взято с форума TC):
Code: Select all
Start=^-----------
End=^-----------
Format0=?nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
Format1=zzzzzzzzzzzzzzzzzzzzzz pppppppp dd-tt-yy hh:mm aaaaaaa
Для RAR5x код (взято с форума TC):
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="*"
Предупрежу вопрос, мол почему не использовать
ArcLite - использую! Всегда и везде и доволен и всем рекомендую! Но есть ситуации когда необходимо вручную создавать именно архиваторами
RAR.EXE и
ARJ32.EXE файлы соответствующих форматов - это требования нормативных актов, и скриптами этом не всегда удобно и возможно, требуется именно из панели интерфейса
FAR.
Все конфиги и настройки рисовал сам, немного в проблематике разбираюсь, но как оказалось недостаточно...
Пожалуйста, кто в этом хорошо понимает и разбирается, помогите составить значения этих трёх переменных
Start=,
End= и
Format0= в
custom.ini для
*.RAR RAR 5.61 x86 и
*.ARJ ARJ32 3.20 x86, чтобы можно было полноценно работать с архивами через
MultiArc.
Спасибо.