Lo strumento da riga di comando 7z consente di specificare più metodi di compressione , ad esempio:
# 7-zip archive type, strongest (9) compression, methods PPMd, BCJ2, LZMA2
$ 7z a -t7z -mx=9 -m0=PPMd -m1=BCJ2 -m2=LZMA2 myarchive.7z somefile.xml
Tutti i metodi vengono utilizzati in qualche modo, o almeno specificato nei metadati:
$ 7z l -slt myarchive.7z
7-Zip [64] 9.22 beta Copyright (c) 1999-2011 Igor Pavlov 2011-04-18
Listing archive: myarchive.
7z
--
Path = myarchive.7z
Type = 7z
Method = LZMA2 PPMD BCJ2
[..]
----------
Path = somefile.xml
[..]
Method = PPMD:o32:mem192m BCJ2 LZMA2:48m
Block = 0
Essa non sembra eseguire il file attraverso tutti e tre i metodi, raccogliendo il meglio. Piuttosto, apparentemente sceglie sempre il primo, poiché la modifica dell'ordine del metodo influisce in modo significativo sulla dimensione del file.
Anche se aggiungo più file, ad esempio un file XML (PPMd produce la migliore compressione) e un file binario (LZMA2 fa), elenca comunque tutti i metodi per entrambi i file e non sembra cambiare dinamicamente per file.
In effetti, la documentazione specifica che "È possibile utilizzare qualsiasi numero di metodi", ma non dice per quale motivo .
Quello che sto cercando di ottenere è un archivio "prova più metodi, scegli quello che è meglio" per file. Ovviamente posso farlo manualmente con un po 'di scripting, ma presumibilmente, concatenare i metodi di compressione dovrebbe fare esattamente questo?