Інструмент командного рядка 7z дозволяє задавати кілька методів стиснення , наприклад:
# 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
Усі методи певним чином використовуються або принаймні визначені у метаданих:
$ 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
Здається, не запускати файл усіма трьома методами, вибираючи найкращі. Швидше за все, це, мабуть, завжди вибирає перше, оскільки зміна порядку методу значно впливає на розмір файлу.
Навіть якщо я додаю декілька файлів, таких як один XML-файл (PPMd дає найкращу компресію) та один двійковий файл (LZMA2), він все ще перераховує всі методи для обох файлів, і, здається, не переходить динамічно на файл.
Насправді в документації конкретно сказано, що "Ви можете використовувати будь-яку кількість методів", але це не говорить тому .
Я намагаюся домогтися - це архів "спробуйте кілька методів, виберіть те, що найкраще". Я, звичайно, можу досягти цього вручну за допомогою невеликого сценарію, але, мабуть, ланцюжки методів стиснення повинні робити саме це?