आप जो प्रस्तावित कर रहे हैं, वह अनिवार्य रूप से नॅप्सैक समस्या का एक बदलाव है , जो कि जोड़ा संपीड़न के कारण, फ़ाइल संपीड़न के कारण, आप यह जानना बंद नहीं करते हैं कि आपके प्रत्येक आइटम पर 20 एमबी "नैकपैक" कितना होगा।
तुच्छ समाधान, निश्चित रूप से, प्रत्येक फ़ाइल को स्वतंत्र रूप से ज़िप करना होगा, लेकिन यह फ़ाइल की संख्या को कम करने में विफल रहता है, इसलिए मुझे संदेह है कि यह एक संतोषजनक समाधान नहीं होगा।
यदि मुझे इस समस्या के साथ प्रस्तुत किया गया था, तो मुझे लगता है कि मैं प्रत्येक फ़ाइल को व्यक्तिगत रूप से एक अस्थायी स्थान (या मेमोरी में, बिना डिस्क पर लिखे) को संपीड़ित करके शुरू करूंगा, बस ताकि मुझे प्रत्येक के लिए एक अनुमानित संपीड़ित आकार मिल सके। उस जानकारी के साथ, फिर यह तय करना संभव होगा कि कौन सी फाइलें नैकपैक समस्या के लिए किसी भी मानक दृष्टिकोण से एक साथ समूहीकृत होनी चाहिए और वास्तविक ज़िप फ़ाइलों का निर्माण करना चाहिए।
यह मानते हुए कि आपके पास एक स्क्रिप्टिंग भाषा उपलब्ध है और आप जानते हैं कि इसका उपयोग कैसे करना है, मुझे उम्मीद है कि यह दृष्टिकोण स्वचालित रूप से काफी सरल होगा; यदि मैन्युअल रूप से निपटने के लिए आपके पास मुट्ठी भर से अधिक फाइलें हैं, तो यह करना काफी कठिन होगा ...