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?