View previous topic :: View next topic |
Author |
Message |
Odeon
Joined: 11 Mar 2021 Posts: 2
|
(Separately) Posted: Thu Mar 11, 2021 19:48 Post subject: |
|
|
Здравствуйте, можно ли настроить Multiark для использования с dictzip (github.com/dictzip/dictzip-win32) - это архиватор наподобие gzip, для сжатия словарей.
Распаковку ТС делает сам по себе, нужно только запаковку настроить |
|
Back to top |
|
|
imig73
Joined: 18 Jun 2013 Posts: 285 Location: г. Иркутск
|
(Separately) Posted: Fri Mar 12, 2021 00:47 Post subject: |
|
|
Odeon
Можно, но нужен сам упакофщик в папке плагинов и естественно сам плагин в multiarc.ini. |
|
Back to top |
|
|
Odeon
Joined: 11 Mar 2021 Posts: 2
|
(Separately) Posted: Fri Mar 12, 2021 23:54 Post subject: |
|
|
imig73
Сам ехе-шник архивера здесь (тут более точная ссылка, чем в моём пред. посте): github.com/Tvangeste/dictzip-win32/releases/tag/1.12.1-win32-1.0.
Там также есть исходники.
Запускаю dictzip.exe с /? - параметры не показывает, непонятно, что нужно в ini-файле аддона прописывать.
Как выше написал, надо только запаковывать научить, в архив заходить и извлекать ТС сам умеет (архивы типа gz, но чуть другие, расширение архива .dz, сделан чтобы текстовые файлы словарей в формате .dsl сжимать) |
|
Back to top |
|
|
Baltazar
Joined: 01 Oct 2015 Posts: 54
|
(Separately) Posted: Tue Jan 18, 2022 15:16 Post subject: |
|
|
Доброго времени суток.
Как-то я в данном треде уже интересновался по поводу совместного использования архиватора TAR и MultiaRC'a но т.к. конечное решение было так себе я тогда махнул на это дело рукой. Сейчас, взявшись за разбор работы мультиарка вернулся заодно и к этому вопросу. Используя небольшой wrapper на autoit удалось вполне успешно прикрутить cygwin'овский TAR и зависимые тулзы (gz,ungzip,bz2,xz) к мультиарку заменяя виндовые пути до файлов на cygdriv'овые (был ещё bsdtar, который я нашёл чуть позже, но было уже влом им заниматься т.к. формат выхлопа надо подгонять ввиду отличий). С листингом архивов проблем не было. А вот с распаковкой/упаковкой они возникли. Основная проблема оказалась в том, что cygwin'овский tar не принимает пути до файлов в архиве с прямыми "\" слешами, которые ему передаёт мультиарк. Если слеши обратные "/", то всё (в консоли) работает корректно. Поэтому ввиду данного обстоятельства первый вопрос - возможно ли как-то реверсировать слеши в передаваемых путях до файлов ?
Следующая проблема, если удастся решить вопрос со слешами, встаёт в исключение базовой папки из распаковки TAR'ом т.е. файл анпачится с полной веткой директорий в %TEMP%\$mltwcx, что в свою очередь вызовет обломинго при распаковке. По крайней мере именно так было с WinRar'ом который я использовал для анпака (в виде костыля), пока не добавил ключ "-ep1". Как подобное провернуть с TAR'ом я ХЗ. Он такого вроде не умеет. Посему второй вопрос - как заставить мультиарк идти за файлом в конец ветки директорий, в которую он (файл) был распакован ? Или это невозможно ?
Это основные моменты, которые хотелось бы уточнить. Помимо этого есть ещё ряд мелких вопросов касательно конфигурации/парсинга/команд/etc :
3) А что значит модификатор "U" (Command definition format) ? В оф.справке его нет. "Use Unicode encoding" ?
4) Что за опция "FormMode" ? Переодически попадалось в аддонах, но в справке про неё ни слова.
5) Существует ли какая-нибудь утилита для помощи в составлении правил парсинга которые обрабатывают выхлоп листинга архиваторов ? Или такого нет и правила надо ваять исключительно вручную (на глаз) перепроверяя корректность через сам TC ?
6) Почему Multiarc пихает по одному файлу в файллист что при использовании %LFQA, что при использовании %LQA ? Из-за этого, что так, что так процесс (в данном случае WinRar'a с ключём -ibck) запускается для распаковки каждого файла. В таком случае какой смысл в файл-листах ? По идее в случае использования "%LQA" в файл-лист должны дропаться пути до всех файлов и архиватор должен по ним отработать, но этого почему-то не происходит. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1234
|
(Separately) Posted: Sat Feb 19, 2022 21:16 Post subject: |
|
|
Baltazar wrote: | 5) Существует ли какая-нибудь утилита для помощи в составлении правил парсинга которые обрабатывают выхлоп листинга архиваторов ? Или такого нет и правила надо ваять исключительно вручную (на глаз) перепроверяя корректность через сам TC ? |
О_о Запускаете "rar.exe v архив.rar" и смотрите, куда и как архиватор выводит имена, какие тут могут быть утилиты? |
|
Back to top |
|
|
Baltazar
Joined: 01 Oct 2015 Posts: 54
|
(Separately) Posted: Tue Feb 22, 2022 06:50 Post subject: |
|
|
Skif_off wrote: | О_о Запускаете "rar.exe v архив.rar" и смотрите, куда и как архиватор выводит имена, какие тут могут быть утилиты? | Я имел ввиду облегчение задачи составление выражения Format'a для парсинга выхлопа.
Не всегда очевидно, как та или иная комбинация сработает и ваять выражения на глаз, особенно новичку в этом вопросе довольно гемморойно. Это как использовать регекспы без возможности предварительного тестирования выражения, не зная как оно сработает в том или ином случае. Потому я интересовался, есть ли инструмент для предварительного прогона выражения "Format'a", где была бы возможность загнать выхлоп в поле для примера, после чего мере набора выражения подсвечивалась та или иная область выхлопа (по типу поиска по регекспам в NPP). Почему-то мне кажется, что я подобное где-то видел, но не могу вспомнить где |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1234
|
(Separately) Posted: Tue Feb 22, 2022 17:19 Post subject: |
|
|
Baltazar
Честно говоря, не улавливаю, в чём сложность Единственное что: по-хорошему, следует использовать редактор с моноширным шрифтом.
Получаете выхлоп:
Hidden text Code: | 7-Zip 21.07 (x86) : Copyright (c) 1999-2021 Igor Pavlov : 2021-12-26
Scanning the drive for archives:
1 file, 249136 bytes (244 KiB)
Listing archive: wcx_MultiArc_1.4.3.162.7z
--
Path = wcx_MultiArc_1.4.3.162.7z
Type = 7z
Physical Size = 249136
Headers Size = 424
Method = LZMA2:768k
Solid = +
Blocks = 1
Date Time Attr Size Compressed Name
------------------- ----- ------------ ------------ ------------------------
2015-09-20 14:54:45 D.... 0 0 Lang
2007-07-29 00:41:34 ....A 28672 248712 conspawn.pipe
2013-08-04 21:35:54 ....A 51712 conspawn.pipe64
2017-10-13 21:31:16 ....A 4390 Lang\English.lng
2017-10-13 21:31:08 ....A 4516 Lang\Russian.lng
2006-05-12 17:01:38 ....A 1747 LICENSE
2020-05-15 15:18:24 ....A 33544 MultiArc.chm
2007-07-31 00:02:58 ....A 42678 MultiArc.hlp
2020-05-15 15:38:36 ....A 173568 MultiArc.wcx
2020-05-15 15:38:32 ....A 215040 MultiArc.wcx64
2017-10-13 17:09:42 ....A 318 pluginst.inf
2020-05-15 15:40:01 ....A 5212 Readme.txt
------------------- ----- ------------ ------------ ------------------------
2020-05-15 15:40:01 561397 248712 11 files, 1 folders |
Как видно, список файлов располагается по одному на строку, строго между строками, начинающимися с "-------------------", - это надо в Start и End.
Открываете MultiArc.chm, переходите на страницу "Format parsing", тут таблица "Format specifiers" и поехали: копируем строку в текстовый редактор
Code: | 2007-07-29 00:41:34 ....A 28672 248712 conspawn.pipe |
т.е. видим
Code: | год месяц день час минуты секунды атрибуты размер размер-сжатого имя |
Теперь по таблице меняем, с учётом количества символов:
Code: | yyyy tt dd hh mm ss aaaaa zzzzzzzzzzzz pppppppppppp nnnnnnnnnnnnnnnn |
Перед именем два пробела и имена могут быть разной длины, но, похоже, на имя приходятся все символы до конца строки: добавлять целое ведро "n" (256?) - это странно, потому смотрим там же в MultiArc.chm таблицу "Special specifiers" ниже и поправляем
Code: | yyyy tt dd hh mm ss aaaaa zzzzzzzzzzzz pppppppppppp n++ |
Вроде не сильно сложно... А утилиты/скрипты, разбирающие вывод программ, как правило "знают", вывод какой программы и какой у неё шаблон. |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
(Separately) Posted: Mon Mar 21, 2022 11:49 Post subject: |
|
|
Кто-нибудь использовал с MPZ (программа для упаковки mp3)?К примеру, конфигурация:
[mp3 pack]
Extension=mpz
Description=Упаковка mp3 файлов
Archiver=c:\Program Files\Total Commander\Plugins\exe\mpz\mpz.exe
Debug=0
List=%P d %AQ %FQ
Format0=""zzzzzzzzzz nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn"
IgnoreErrors=1
Extract=%P %AQA d %FAQ
Add=%P c %FQ %AQ
Move=
Test=
Delete=
SFX=
Lock=
Protect=
Recover=
AllFilesMask="*.*"
Упаковка норм, а вот при извлечении никак не удаётся получить такое же название, как прежде. Все что-то вроде %s. Есть ли возможность извлекать mp3 с оригинальным именем?
И ещё при упаковке отображается только "плагин - mpz:". Есть способ выводить название файла, который архивируется в настоящий момент. Изучал конфигурацию, но ничего похожего не нашёл. |
|
Back to top |
|
|
Skif_off
Joined: 28 Nov 2012 Posts: 1234
|
(Separately) Posted: Tue Mar 22, 2022 12:39 Post subject: |
|
|
Dimsok
mpz.exe не поделитесь? Поисковики кучу мусора выдают... |
|
Back to top |
|
|
Dimsok
Joined: 17 Aug 2014 Posts: 663
|
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 365
|
(Separately) Posted: Sun Jan 28, 2024 12:57 Post subject: |
|
|
Делая у себя ревизию установленных плагинов, решил таки погрузиться в работу MultiArc, захотелось наконец разобраться, как работает этот плагин. MPZ очень подошел для этих целей.
Не являюсь большим специалистом в написании батников и прочих скриптов, т.ч. не судите строго
Code: | [MPZ]
Description="MP3 Compressor"
Archiver=%COMMANDER_PATH%\Plugins\arc\mpz\mpz.bat
Extension=mpz
ID=05 04 05 01
IDPos=0
Start="---------------"
Format0="z+ n++"
List="%PQA l %AQA"
Extract="%PQA e %AQA %FQA"
Add="%PQA a %FQA %AQA"
IgnoreErrors=0
Debug=0
UnixPath=0
SkipDirsInFileList=1
SkipEmptyNames=1
BatchUnpack=0
SearchForUglyDirs=0
AskMode=2
|
mpz.bat
Code: | SetLocal EnableExtensions
CHCP 866
cls
if %~z2 EQU 0 goto End
if /i "%1" =="l" goto List
if /i "%1" =="e" goto Extract
if /i "%1" =="a" goto Add
exit
:List
@echo off
@echo ---------------
@echo %~z2 %~n2.mp3
if %errorlevel% == 0 goto End
exit
:Add
"%~dp0mpz.exe" c "%~dpn2.mp3" "%~dpn3.mpz"
if not %errorlevel% == 0 exit
@echo Compression:
@echo "%~dp0mpz.exe" c "%~dpn2.mp3" "%~dpn3.mpz"
goto End
:Extract
"%~dp0mpz.exe" d %2 "%~n3.mp3"
@echo Decompression:
@echo "%~dp0mpz.exe" d %2 "%~dpn3.mp3"
:End
|
|
|
Back to top |
|
|
jentoso
Joined: 20 Dec 2007 Posts: 363
|
(Separately) Posted: Wed Feb 07, 2024 17:36 Post subject: |
|
|
А как должен отрабатывать MultiArc, когда в конфиге прописаны варианты для innosetup:
Code: | [InnoSetup(gog)]
[InnoSetup]
[InnoSetup (unpack_one)] |
Если первый не срабатывает, должен переходить на следующий?
Сталкивался с таким, что первый вариант не сработал и на этом обработка завершилась. Меняю в кофиге варианты
Code: | [InnoSetup]
[InnoSetup(gog)]
[InnoSetup (unpack_one)] |
и распакова происходит. _________________ TC 11.03 combo, Windows 10 x64 |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 365
|
(Separately) Posted: Wed Feb 07, 2024 20:21 Post subject: |
|
|
MVV лучше/точнее ответит, но MultiArc должен прыгать на следующую секцию. Я даже сначала сделал кнопку, когда эксперементировал с InnoSetup, которая меняла сигнатуру в Multiarc.ini, типа:
Code: |
"%NIRSOFT%"\nircmd inisetval "%COMMANDER_PATH%\Plugins\wcx\MultiArc\Multiarc.ini" "InnoSetup" "ID" "49 6E 6E 6F"
"%NIRSOFT%"\nircmd inisetval "%COMMANDER_PATH%\Plugins\wcx\MultiArc\Multiarc.ini" "InnoSetup" "ID" "49 6E 6E 6F 00 00 FF FF"
|
только для того, чтобы он прыгал на следующую секцию [InnoExtract], и он прыгал, и все работало.
И все же я отказался от этого варианта в пользу
https://forum.wincmd.ru/viewpost.php?p=136806
так лучше и удобнее, хотя и висит еще одна копия плагина |
|
Back to top |
|
|
Orion9
Joined: 01 Jan 2024 Posts: 365
|
(Separately) Posted: Sun Feb 11, 2024 20:33 Post subject: |
|
|
Как писал выше, делаю сейчас пересмотр и обновление всех плагинов, и решил, что вход/распаковка upx в MultiArc мне все-таки нужна.
Проверял на последней 4.2.2
https://github.com/upx/upx/releases
Code: | upx=79,%COMMANDER_PATH%\Plugins\wcx\MultiArc\multiarc.wcx |
Code: | [UPX]
Archiver=%COMMANDER_PATH%\Plugins\arc\upx\upx.bat
ID=00 55 50 58 21
IDPos=500,991,<SeekID>
Extension=upx
Description="Ultimate Packer for eXecutables"
Start="--------------------"
Format0=" +z+"
Format1=n++
List=%PQA -l %AQA %E2
Extract=%PQA -e %AQA %FQA
Add=%PQA -a %FQA {%S} %AQA
Test=%PQA -t %AQA
IgnoreErrors=0
Debug=0
UnixPath=0
SkipDirsInFileList=1
SkipEmptyNames=1
BatchUnpack=0
SearchForUglyDirs=0
AskMode=2
AskHistory0=-7
AskHistory1=--best
AskHistory2=--lzma
AskHistory3=-8
AskHistory4=-9
|
upx.bat
Code: | CHCP 866
@echo off
cls
if /i "%1" =="-l" goto List
if /i "%1" =="-e" goto Extract
if /i "%1" =="-a" goto Add
if /i "%1" =="-t" goto Test
exit
:List
"%~dp0upx.exe" -l %2
@echo %~nx2
goto End
:Test
"%~dp0upx.exe" -t %2
goto End
:Add
if exist "%~dp4%~n2--UPX!%~x2" goto Error
"%~dp0upx.exe" -k %3 --compress-icons=0 %2 -o "%~dp4%~n2--UPX!%~x2"
exit
:Extract
"%~dp0upx.exe" -d -k %2 -o %3
exit
:Error
echo MsgBox "Файл %~dp4%~n2--UPX!%~x2 уже существует и не может быть перезаписан!", vbOKOnly + vbCritical, "Ошибка" >%TEMP%\1.vbs
%TEMP%\1.vbs
:End
|
P.S. Мне нужен только просмотр и распаковка, т.ч. будьте осторожны при упаковке: сверх-досконально я все не проверял. По возможности можете сами подправить батник. |
|
Back to top |
|
|
Mellomann
Joined: 07 Sep 2009 Posts: 709
|
(Separately) Posted: Fri Mar 01, 2024 21:28 Post subject: |
|
|
Кто-то пробовал прикручивать ZSTD к MultiArc? |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|