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?
quelle
Antworten:
Im Allgemeinen können komprimierte Daten nicht (weiter) effizient komprimiert werden. Nachdem die erste Komprimierungsmethode angewendet wurde, kann die Dateigröße nicht wesentlich verringert werden.
Dies
-mN=X
dient hauptsächlich zur Angabe von Filtern (aus der Windows-Hilfedatei):Ebenfalls aus der Hilfedatei, ein erweitertes Beispiel, das mehrere Ausgabestreams des BCJ2-Filters nutzt:
quelle
Es scheint, dass Sie Filter in einer Sequenz anwenden können.
Dieser Beitrag vom letzten Jahr hat eine schöne Erklärung:
Was bedeutet die Zahl nach dem 7-Zip-Schalter?
quelle