MultiArc - archiver plugin

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: white, Hacker, petermad, Stefan2

Post Reply
User avatar
nsp
Power Member
Power Member
Posts: 1803
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Re: MultiArc - archiver plugin

Post by *nsp »

For multiarc support, you could follow tutorial from DC : https://doublecmd.github.io/doc/en/multiarc.html.. All is well explained and DC have more interest in linux topic.

Usually those packers are interesting when used to compress tar file and modern tar implementation is able to handle it directly you can also focus in this direction if it make sense to you. (I use on windows bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.5.f-ipp and std tar -tf %F give me the list of any tlz or tar.lz ) (see https://doublecmd.sourceforge.io/forum/viewtopic.php?t=3809)
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: MultiArc - archiver plugin

Post by *MVV »

cieply,
Well, it may be because file name results in full path with a colon and backslashes (because natively GZ XZ etc. streams do not contain file name and attributes).
But also I see that you use "^" in "Start" lines incorrectly: you have to put "^" instead of the first line character, not before it.
User avatar
cieply
Junior Member
Junior Member
Posts: 4
Joined: 2016-02-17, 20:53 UTC

Re: MultiArc - archiver plugin

Post by *cieply »

MVV wrote: 2020-04-25, 08:55 UTC '^' in "Start" lines incorrectly: you have to put "^" instead of the first line character, not before it.
I did, thanks to that I got proper listing after entering archive, thanks for that. Step in right direction I guess.
What is '^' then for if it's not beginning of the line? Can I live without it?

//
Even with listing working it still doesn't work as expected. I will inform as I progress with it.

//
nsp wrote: 2020-04-25, 07:06 UTC modern tar implementation is able to handle it directly you can also focus in this direction if it make sense to you. (I use on windows bsdtar 3.3.2 - libarchive 3.3.2 zlib/1.2.5.f-ipp and std tar -tf %F give me the list of any tlz or tar.lz ) (see lzip support in multiarc)
I don't know how bsdtar handles compressors but tar does not do it "directly". I just recognizes compressor file signature and invokes right compressor (check ``-I --use-compress-program=PROG'' option in man).

I checked referred topic and I can get support through 7zip with certain patch which is ignored by 7zip dev but it requires patching and recompiling every new release and it won't automatically work as you can guess. Either this or decent plugin that refuses to work on my system, not to mention it won't work under linux so I thought configuring original compressor/s would be only beneficial as parallel versions are so much better than any plugin or 7zip.
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: MultiArc - archiver plugin

Post by *MVV »

What is '^' then for if it's not beginning of the line? Can I live without it?
As described in help file, "^" causes MA to search for given text only from beginning of a line, but MA authors decided to put it instead of the first pattern character, not before it.
User avatar
byblo
Senior Member
Senior Member
Posts: 270
Joined: 2005-02-20, 21:13 UTC
Contact:

Re: MultiArc - archiver plugin

Post by *byblo »

ExcludeIDs seems to never work. Is it bugged?
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: MultiArc - archiver plugin

Post by *MVV »

Never tried it, so everything is possible. :D
Please post your addon section, I'll try to check it.
User avatar
byblo
Senior Member
Senior Member
Posts: 270
Joined: 2005-02-20, 21:13 UTC
Contact:

Re: MultiArc - archiver plugin

Post by *byblo »

I removed it since it was not working.

But you can do some basic test, according the help, for instance using a test file:

Code: Select all

[debug]
;Create a bin file containing for instance 50 4C for this test. Archiver executable is not necessary to reproduce the bug.
ID=50
ExcludeIDs=(4C,1,1)
Archiver="c:\debug\debug.exe"
List="%P l %AQA"
Extract="%P %AQA x %F"
Format0=pppppppppppp zzzzzzzzzzzz nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn
IgnoreErrors=0
Debug=0
UnixPath=0
SkipDirsInFileList=0
SkipEmptyNames=1
BatchUnpack=0
SearchForUglyDirs=0
No matter the value of excudeids, 4C, 4F whatever, it seems to be simply ignored by multiarc. This include also older versions of multiarc (i did not tested all of them, just my old one outdated since years)
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: MultiArc - archiver plugin

Post by *MVV »

Well, I've checked source code and result is funny. First line of AsseptExcludeID function is just "return false". So yes, this feature didn't work at all.

I've rewritten detection function, so it should work now.

MultiArc 1.4.3.162:
* fixed ExcludeIDs support (feature was completely broken)
User avatar
byblo
Senior Member
Senior Member
Posts: 270
Joined: 2005-02-20, 21:13 UTC
Contact:

Re: MultiArc - archiver plugin

Post by *byblo »

Quickly tested with debug file, seems working fine at the first try.

Thank you :)
Argimko
Junior Member
Junior Member
Posts: 4
Joined: 2017-02-22, 06:53 UTC

Re: MultiArc - archiver plugin

Post by *Argimko »

Addon for extract text from OneNote files. For some reason iFilter OneNote 2016/2021 is not associated with the .one extension, so we need to add some values to the registry first. Also it can be used as IFilter extractor written with AutoHotKey.

ExtractIFilterText.ahk source: https://github.com/Argimko/ArTools/blob/master/ExtractIFilterText.ahk

MultiArc.ini:

Code: Select all

[OneNote]
ID=E4 52 5C 7B 8C D8 A7 4D AE B1 53 78 D0 29 96 D3
Extension=one
Description=IFilter for OneNote
Archiver=C:\AutoHotkey\AutoHotkeyU64.exe \"%COMMANDER_PATH%\Tools\ExtractIFilterText.ahk\" --ext=one
Format0=yyyy-tt-dd hh:mm:ss z+ p+ n++
BatchUnpack=1
List=%PA --list %AQA %O
ExtractWithPath=%PA %AQA %FQA
wincmd.ini -> [PackerPlugins]:

Code: Select all

one=320,%COMMANDER_PATH%\PLUGINS\PACKER\MultiArc\MultiArc.wcx
akhon
Junior Member
Junior Member
Posts: 12
Joined: 2023-01-14, 13:15 UTC

Re: MultiArc - archiver plugin

Post by *akhon »

Hi,

I'm working on cretate one "MultiArc.ini" for "VBK" (VeeamZIP Extractor - Veeam Backups): viewtopic.php?p=426397#p426397

But I have a trouble with the extraction of the Virtual Machine. The "extract.exe" tool provided lists only at Virtual Machine level. Therefore when you extract something, it's the complete Virtual Machine. And it will be created in a FOLDER. So the NAME in the LISTING is the FOLDER NAME after the extraction. Therefore the question: with the MultiArc plugin it's possible to indicate that the extraction is a FOLDER and not a FILE? For example with some parameter. I've do a lot of tests and TC or the MultiArc Plugin are expecting a FILE and not a FOLDER. So after complete the task I receive an error and the folder created inside "%TEMP%\$mltwcx" is not deleted.

Any idea?
User avatar
MVV
Power Member
Power Member
Posts: 8702
Joined: 2008-08-03, 12:51 UTC
Location: Russian Federation

Re: MultiArc - archiver plugin

Post by *MVV »

Unfortunately WFX API works only with files, so I think there is no way to implement such thing. TC expects list of files from a plugin and operates with files, directories are just created when needed.
Hurdet
Power Member
Power Member
Posts: 620
Joined: 2003-05-10, 18:02 UTC

Re: MultiArc - archiver plugin

Post by *Hurdet »

if I use:
List="%P -cmd list -filePath '%AA' test"
I get:
file.exe -cmd list -filePath 'c:\file.zip test
without second '
do it is a bug?

file.exe -cmd list -filePath '%AA ' test
get:
file.exe -cmd list -filePath 'c:\file.zip ' test
User avatar
deus-ex
Power Member
Power Member
Posts: 969
Joined: 2003-02-10, 17:45 UTC

Re: MultiArc - archiver plugin

Post by *deus-ex »

Just define the list command without any quotes, that should do the trick.

Code: Select all

List=%P -cmd list -filePath %AA test
Hurdet
Power Member
Power Member
Posts: 620
Joined: 2003-05-10, 18:02 UTC

Re: MultiArc - archiver plugin

Post by *Hurdet »

I know it, but in some cases I need to define the list command with custom quotes.
Post Reply