MultiArc: archive support plugin — модуль работы с архивами

Здесь можно обсудить ваш любимый плагин.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

MultiArc: Archive support plugin — Модуль работы с архивами

Post by buniak_a_h »

Latest post of the previous page:

kkkrotov wrote: Thu 02 Dec, 2021 19:50 К сожалению, ни RAR, ни MultiArc, в явном виде не показывают результирующую командную строку,
сформированную MultiArc и по которой отработал RAR.
… … …
Что тут можно сделать?
Такая проблема была в другой теме. Решение см. тут
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

MultiArc: Archive support plugin — Модуль работы с архивами

Post by buniak_a_h »

Ну, т.е. приведённое решение собственно РАР не запускает, только выводит командную строку и останавливает. Если надо продолжить, после pause просто повторите то, что было написано между … echo и pause
Last edited by buniak_a_h on Thu 02 Dec, 2021 20:36, edited 1 time in total.
kkkrotov
Posts: 19
Joined: Sun 29 Sep, 2013 19:44
Has thanked: 4 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by kkkrotov »

buniak_a_h wrote: Thu 02 Dec, 2021 20:33 Такая проблема была в другой теме. Решение см. тут
buniak_a_h wrote: Thu 21 Oct, 2021 13:25 В строке укажите примерно так (на примере строки для RAR-а):
cmd.exe /C echo rar.exe a -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LNA && pause
и посмотрите какая командная строка формируется. Думаю, многое станет понятно
Спасибо. Уже шаг вперед.
В общем - полезно.

Только я потерял финальную && pause :)
Тогда заменил cmd.exe /C на cmd.exe /K
и в конце поставил было вместо паузы && exit, но отказался потом.
Так хоть не в двух местах править и вертать взад

Но это только ведь работает только в режиме "отладки" строки для MultiArc, увы ...
А я ведь этот список (для ключа -ms) могу посмотреть и не коверкая строку глубоко в настройках,
а взять прямо из диалога из поля Switches. За строку-то я не беспокоюсь.
WinRAR.chm, Rar.txt wrote:Switch -MS[list] - specify file types to store
И этот список хочется проверить именно после отработки RAR (или не проверять),
а не до, когда это будет в обязон.

"Не до", т.к. он длинный, слеповатый в стандартной цветовой схеме,
не читабельный, короче. И, список в целом статичный, меняется редко,
поэтому проверять его надо лишь в некоторых специфичных случаях.
.
Вот и хочется традиционный лог после того как.

[OFF]Бзв, а нет в формате RAR какого-нибудь поля информационного -
какой командной строкой был сжат архив? Как в видео-файлах, к примеру?[/OFF]

.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

MultiArc: Archive support plugin — Модуль работы с архивами

Post by buniak_a_h »

kkkrotov wrote: Thu 02 Dec, 2021 22:23 хочется проверить именно после отработки RAR (или не проверять), а не до
Вам никто не мешает (а) саму командную строку запустить в файл (той же echo … >log), а также скопировать содержимое файла-списка туда же. Сейчас думать не хочется, но это, наверно, не очень сложная задача.
kkkrotov
Posts: 19
Joined: Sun 29 Sep, 2013 19:44
Has thanked: 4 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by kkkrotov »

buniak_a_h,
я тоже думал, что не сложная.
Что если не через RAR, то через FAR и/или его MultiArc решу ее.

Если бы это был файл-список ...
Да я бы выплевывал его в NPP каждый раз и все.

А это ведь параметр ключа длиной с трамвайную остановку. Ну, у меня, в частности:
-ms7z;ace;arj;bz2;cab;gz;lha;lzh;rar;taz;tgz;z;zip;isz;imz;avi;mkv;mpg;mpeg;jpg;jpeg;mp3;vob;ts
И то - это еще короткий. Я пополню его вскоре.
А ключ не принимает на вход себе файл... :(
.
Last edited by kkkrotov on Thu 02 Dec, 2021 23:01, edited 1 time in total.
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by 2useven10 »

kkkrotov wrote: Thu 02 Dec, 2021 23:01 А ключ не принимает на вход себе файл... :(
Может удобнее в переменную окружения этот ключ добавить.
kkkrotov
Posts: 19
Joined: Sun 29 Sep, 2013 19:44
Has thanked: 4 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by kkkrotov »

2useven10 wrote: Fri 03 Dec, 2021 07:26 Может удобнее в переменную окружения этот ключ добавить.
Да, я ужЕ думал в эту сторону...
Может вообще написать простенький враппер для консольного RAR ...

Но так хотелось малой кровью ... - раз, и готово.

Бзв, FAR ставит %FA% и %FARHOME% в окружение при своем старте.
А где это делается? Я что-то потерялся ...
Я ее обнаружил в реестре только в одном месте, но странном:
HKCU\Software\Far\KeyMacros\Shell\CtrlAltShiftK\\Sequence

Не хотелось бы ее в глобальное окружение навсегда засовывать.
.
.
.
Last edited by kkkrotov on Fri 03 Dec, 2021 12:04, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

MultiArc: Archive support plugin — Модуль работы с архивами

Post by buniak_a_h »

kkkrotov, ещё и FarProfile, FarLocalProfile и FarLang… Зато переменной Far я не нашёл.
На них (кроме FarHome), кстати, можно влиять из файла Far.exe.ini (см. Far.exe.example.ini). Параметры [General]\UserProfileDir, [General]\UserLocalProfileDir
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by 2useven10 »

kkkrotov wrote: Fri 03 Dec, 2021 12:03 FAR ставит %FA% и %FARHOME% в окружение при своем старте.
А где это делается?
Это делается из far.exe при старте.

Можно стартовать фар батником, в котором сначала выствить переменную %RAR%.
Может можно макросом с [x] Run after far start, но как это делается в far1 (и делается ли) ищите самостоятельно.
2useven10
Posts: 5211
Joined: Mon 07 Sep, 2009 10:40
Has thanked: 18 times
Been thanked: 310 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by 2useven10 »

buniak_a_h wrote: Fri 03 Dec, 2021 12:13 можно влиять из файла Far.exe.ini ...
far1
kkkrotov
Posts: 19
Joined: Sun 29 Sep, 2013 19:44
Has thanked: 4 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by kkkrotov »

buniak_a_h wrote: Fri 03 Dec, 2021 12:13 kkkrotov, ещё и FarProfile, FarLocalProfile и FarLang… Зато переменной Far я не нашёл.
На них (кроме FarHome), кстати, можно влиять из файла Far.exe.ini (см. Far.exe.example.ini). Параметры [General]\UserProfileDir, [General]\UserLocalProfileDir
К сожалению, Far.exe.ini (см. Far.exe.example.ini) - это FAR3.
А у меня:
FAR 1.70 (build 2087)
MultiArc.dll 1.70.0.180
RAR 4.20
Переменная не %Far%, а %FA%
В MultiArc. Путь к Rar.exe. Думаю, что это сокращение от FAR Archiver
Я не уверен - оригинального ли она происхождения.
Может давно сам на коленке мастерил...
Этой конфигурации уже десяток с лишним лет...
.
kkkrotov
Posts: 19
Joined: Sun 29 Sep, 2013 19:44
Has thanked: 4 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by kkkrotov »

2useven10 wrote: Fri 03 Dec, 2021 12:16
kkkrotov wrote: Fri 03 Dec, 2021 12:03 FAR ставит %FA% и %FARHOME% в окружение при своем старте.
А где это делается?
Это делается из far.exe при старте.

Можно стартовать фар батником, в котором сначала выствить переменную %RAR%.
Может можно макросом с [x] Run after far start, но как это делается в far1 (и делается ли) ищите самостоятельно.
* Это делается из far.exe при старте
  • Ну да, ну да :) Рация на танке :)
* стартовать фар батником
- Шурик, это не наш метод.
Ну, не война же на дворе, если серьезно ...

* макросом
Вот я и думаю - не тот ли это у меня костыль, о котором я писал выше:
Подпись моя, что это dummy.
И дурацкое какое-то клавиатурное сокращение.

Code: Select all

REGEDIT4
[HKCU\Software\Far\KeyMacros\Shell\CtrlAltShiftK]
"Sequence"="\"Set FA=\" $Text Env(\"FARHOME\") \"\\\\Util\\\\Arch\" Enter"
"RunAfterFARStart"=dword:00000001
"NoSendKeysToPlugins"=dword:00000001
"DisableOutput"=dword:00000001
"_MyName_Dscr"="FAR Startup Macro; HotKey 'CtrlAltShiftK' is dummy"

* как это делается в far1 (и делается ли) ищите самостоятельно
Спасибо, добрый человек ;))
.
Ну, откуда взялась %FA% для
%FA%\rar.exe a -y {-p%%P} {-ap%%R} {-w%%W} {%%S} -- %%A @%%LN
теперь понятно. Туда же я впихну и переменную со списком.
И потом забуду напрочь еще на десяток лет, если проживу :)

Не-е... враппер нужен. Однозначно.
Такие костыли с реестром, фейковыми ключами и макросами
и, не дай бог, с батниками - это не есть гут.
.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

MultiArc: Archive support plugin — Модуль работы с архивами

Post by buniak_a_h »

2useven10 wrote: Fri 03 Dec, 2021 12:18
buniak_a_h wrote: Fri 03 Dec, 2021 12:13 можно влиять из файла Far.exe.ini ...
far1
kkkrotov wrote: Fri 03 Dec, 2021 12:40 К сожалению, Far.exe.ini (см. Far.exe.example.ini) - это FAR3.
А у меня:
FAR 1.70 (build 2087)
MultiArc.dll 1.70.0.180
RAR 4.20
Извините, не обратил внимания… Это было так давно.
kkkrotov
Posts: 19
Joined: Sun 29 Sep, 2013 19:44
Has thanked: 4 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by kkkrotov »

buniak_a_h,
take it easy :)

В любом случае спасибо за первый толчок -
как выплюнуть в консоль прототип командной строки.
А то я зашорился - в батниках-то кругом этим пользуюсь,
а тут не допер.

2useven,
тоже благодарю за макросы.
Правда ты так, с малой надеждой :)
"Может можно макросом с [x] Run after far start,
но как это делается в far1 (и делается ли)"


Так что в первом приближении, на коленке, расклад ясен:
  • Список храню в файле
  • Файл по мере нужды забрасываю в реестр
  • FAR-переменная с его содержимым инициализируется при страте FAR
  • В MultiArc используется уже она, а не сам список
  • Остается ее куда-точем-то выплюнуть после отработки MultiArc.
    Но это можно и руками из FAR >Set. Не часто ведь нужно...

А по уму - писать враппер и обойтись без костылей с переменной:
  • Он примет на вход строку из MultiArc
  • Распарсит ее
  • Подставит нужное в нужное место
  • При необходимости вывалит диалог модификации списка
    (постоянного или разового)
  • Выплюнет итоговую строку в RAR
  • Дополнит его лог (или создаст свой?)
Если какие еще возникнут вдруг соображения, идеи - велкам.
.
kkkrotov
Posts: 19
Joined: Sun 29 Sep, 2013 19:44
Has thanked: 4 times

MultiArc: Archive support plugin — Модуль работы с архивами

Post by kkkrotov »

Да! И переменную можно формировать из трех частей:
  • железобетонной (навечно)
  • туда-сюда кандидатской и
  • разовой, сессионной
    .
    Кому интересно - обсуждение началось здесь.
    .
Last edited by kkkrotov on Fri 03 Dec, 2021 14:58, edited 1 time in total.
User avatar
buniak_a_h
Posts: 4236
Joined: Sat 20 Apr, 2013 00:17
Location: Санкт-Петробад
Has thanked: 222 times
Been thanked: 643 times
Contact:

MultiArc: Archive support plugin — Модуль работы с архивами

Post by buniak_a_h »

kkkrotov wrote: Fri 03 Dec, 2021 14:49 А по уму - писать враппер
Когда я работал, у меня был маленький враппер для отладки процессов, запускаемых из другого процесса. Командную строку то ли выводит, то ли логирует; затем выполняет. Поискать?
Просто сейчас я на пенсии…
Last edited by buniak_a_h on Fri 03 Dec, 2021 18:54, edited 1 time in total.
Post Reply

Return to “Обсуждение плагинов”