Mit dem 7z-Befehlszeilentool können Sie mehrere Komprimierungsmethoden angeben , z.
# 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
Alle Methoden werden auf irgendeine Weise verwendet oder zumindest in den Metadaten angegeben:
$ 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
Es scheint nicht , dass die Datei mit allen drei Methoden ausgeführt wird, um die beste auszuwählen. Vielmehr wird anscheinend immer die erste ausgewählt, da eine Änderung der Reihenfolge der Methode die Dateigröße erheblich beeinflusst.
Selbst wenn ich mehrere Dateien hinzufüge, z. B. eine XML-Datei (PPMd liefert die beste Komprimierung) und eine Binärdatei (LZMA2), werden alle Methoden für beide Dateien aufgelistet und scheinen nicht dynamisch pro Datei zu wechseln.
In der Dokumentation heißt es ausdrücklich: "Sie können eine beliebige Anzahl von Methoden verwenden.", Es wird jedoch nicht angegeben, warum .
Was ich erreichen möchte, ist ein Archiv pro Datei "Probieren Sie mehrere Methoden aus, wählen Sie die beste aus". Ich kann dies natürlich manuell mit ein wenig Skripterstellung erreichen, aber vermutlich sollten Verkettungskomprimierungsmethoden genau das tun?