Công cụ dòng lệnh 7z cho phép bạn chỉ định nhiều phương thức nén , ví dụ:
# 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
Tất cả các phương thức được sử dụng theo một cách nào đó hoặc ít nhất được chỉ định trong siêu dữ liệu:
$ 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
Nó không xuất hiện để chạy tệp thông qua cả ba phương pháp, chọn cách tốt nhất. Thay vào đó, nó dường như luôn chọn đầu tiên, vì việc thay đổi thứ tự của phương thức ảnh hưởng đáng kể đến kích thước tệp.
Ngay cả khi tôi thêm nhiều tệp, chẳng hạn như một tệp XML (PPMd mang lại khả năng nén tốt nhất) và một tệp nhị phân (LZMA2), nó vẫn liệt kê tất cả các phương thức cho cả hai tệp và dường như không chuyển đổi linh hoạt trên mỗi tệp.
Trong thực tế, các tài liệu hướng dẫn cụ thể nói rằng "Bạn có thể sử dụng bất kỳ số phương pháp.", Nhưng nó không nói tại sao .
Những gì tôi đang cố gắng đạt được là một tệp lưu trữ "thử nhiều phương pháp, chọn bất kỳ phương pháp nào là tốt nhất". Tất nhiên tôi có thể tự mình đạt được điều này với một chút kịch bản, nhưng có lẽ, các phương pháp nén chuỗi nên làm chính xác điều đó?