L'outil de ligne de commande 7z vous permet de spécifier plusieurs méthodes de compression , par exemple:
# 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
Toutes les méthodes sont utilisées d'une manière ou d'une autre spécifiées dans les métadonnées:
$ 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
Il ne pas semble exécuter le fichier à travers les trois méthodes, choisir le meilleur. Au contraire, il choisit apparemment toujours le premier, car le changement de l'ordre de la méthode affecte considérablement la taille du fichier.
Même si j'ajoute plusieurs fichiers, tels qu'un fichier XML (PPMd donne la meilleure compression) et un fichier binaire (LZMA2 le fait), il répertorie toujours toutes les méthodes pour les deux fichiers et ne semble pas changer dynamiquement par fichier.
En fait, la documentation indique spécifiquement que «vous pouvez utiliser n'importe quel nombre de méthodes», mais elle ne dit pas pourquoi .
Ce que j'essaie de réaliser, c'est une archive par fichier "essayez plusieurs méthodes, choisissez celle qui convient le mieux". Je peux bien sûr y parvenir manuellement avec un peu de script, mais vraisemblablement, les méthodes de compression de chaînage devraient faire exactement cela?
la source
Réponses:
Généralement, les données compressées ne peuvent pas être compressées (davantage) efficacement. Une fois la première méthode de compression appliquée, la taille du fichier ne peut pas être réduite de manière significative.
Il
-mN=X
s'agit principalement de spécifier des filtres (extraits du fichier d'aide de Windows):Également à partir du fichier d'aide, un exemple avancé exploitant plusieurs flux de sortie du filtre BCJ2:
la source
Il semble que vous puissiez appliquer des filtres dans une séquence.
Ce message de l'année dernière a une belle explication:
Que signifie le nombre après le commutateur -m de 7-zip?
la source