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
यह तीनों विधियों के माध्यम से फ़ाइल को चलाने के लिए प्रकट नहीं होता है, सबसे अच्छा उठाता है। बल्कि, यह हमेशा स्पष्ट रूप से पहले उठाता है, क्योंकि विधि के क्रम को बदलने से फ़ाइल का आकार काफी प्रभावित होता है।
यहां तक कि अगर मैं एक एक्सएमएल फ़ाइल (पीपीएमडी सबसे अच्छी संपीड़न पैदा करता है) और एक बाइनरी फ़ाइल (एलजेडएम 2 करता है) जैसी कई फाइलें जोड़ता हूं, तो भी यह दोनों फाइलों के लिए सभी तरीकों को सूचीबद्ध करता है, और प्रति फ़ाइल गतिशील रूप से स्विच नहीं करता है।
वास्तव में, प्रलेखन विशेष रूप से कहता है कि "आप किसी भी संख्या में विधियों का उपयोग कर सकते हैं।", लेकिन यह नहीं कहता कि कहां है ।
मैं जो प्राप्त करने की कोशिश कर रहा हूं वह प्रति-फ़ाइल "कई तरीकों को आज़माएं, जो भी सबसे अच्छा हो" संग्रह करें। मैं निश्चित रूप से थोड़ा स्क्रिप्टिंग के साथ मैन्युअल रूप से इसे प्राप्त कर सकता हूं, लेकिन संभवतः, संपीड़न विधियों का पीछा करते हुए वास्तव में ऐसा करना चाहिए?