मैं अपने रास्तों के साथ एक ही नाम वाली फाइलों का एक गुच्छा कैसे जिप करूं?


2

मेरे पास एक विंडोज पीसी पर एक प्रोजेक्ट में कई फ़ोल्डरों में एक ही नाम वाली कई फाइलें हैं। हजारों फ़ोल्डरों में हजारों स्रोत फाइलें हैं।

उन्हें स्थानीयकरण के लिए बाहर भेजने की आवश्यकता है। स्रोत कोड में से कोई भी उनके साथ नहीं जा सकता है - केवल गुण फाइलें, इसलिए मैं पूरी परियोजना को ज़िप नहीं कर सकता और इसे बाहर भेज सकता हूं।

  • मैं उन्हें एक ज़िप फ़ाइल में चक नहीं कर सकता - इसके लिए अद्वितीय नामों की आवश्यकता है।

  • मैंने एजेंट रैंसैक का उपयोग करने की कोशिश की, जो उनके रास्तों की सभी फाइलों को सूचीबद्ध करेगा, लेकिन दुख की बात है कि 7Zip पथों की अनदेखी करता है और अद्वितीय नामों की कमी के बारे में शिकायत करता है।

मुझे एक स्क्रिप्ट या स्वचालित तरीके से अपने संबंधित फ़ोल्डरों में एक निश्चित संग्रह फ़ाइलों को ज़िप संग्रह में लाने की आवश्यकता है। जब वे एक ऑपरेशन में वापस आते हैं, तो उन्हें मौजूदा लोगों पर अधिकार नहीं किया जा सकता है।


1
आप किस ओएस पर हैं? यदि विंडोज़, FOR कमांड आपको मदद करेगा।
एलपीसीशिप

1
"हजारों फ़ोल्डर्स में हजारों स्रोत फाइलें हैं" कंपकंपी
user236012

"मेरे भगवान, यह फाइलों से भरा है!"
K7AAY

जैसा कि इस आदेश का उपयोग करके आप यहां प्राप्त कर सकते हैं, इस थ्रेड sourceforge.net/p/sevenzip/discussion/45797/thread/a7639897 की जांच करें जो आपको किसी विचार के साथ मिल सकता है।
वीम्बुतेच

जवाबों:


3
7z a -tzip project.zip -ir!DIR1\*.cpp

बाहर जाना होगा और DIR1 के अंदर और .cpp एक्सटेंशन के साथ सभी फ़ाइलों को पकड़ो और उन्हें प्रोजेक्ट.ज़िप नामक एक संग्रह में रखें। फिर,। आर्क के साथ .abc एक्सटेंशन के साथ और फाइलें जोड़ें

7z u project.zip -ir!DIR1\*.abc

-t संग्रह (ज़िप) के प्रकार को निर्दिष्ट करता है। मैं और -r स्विच में संयुक्त रहे हैं -ir जो मैं फ़ाइल नाम ncludes और आर उपनिर्देशिका ecurses। वाइल्डकार्ड या रिक्त स्थान वाले फ़ाइलनाम को उद्धृत किया जाना चाहिए, एक ला "Dir \ Program फ़ाइलें *" या Dir \ "प्रोग्राम प्रोग्राम" *

-

आप वाइल्डकार्ड के साथ शामिल करने के लिए फ़ाइलस्पेस की एक सूची भी बना सकते हैं, और फिर संग्रह में केवल उन्हीं फाइलों को रख सकते हैं:

7z a -r -tzip archive.zip @listfile.txt

-

चूंकि आपने अपने स्रोत कोड फ़ाइलों के लिए सुसंगत और अद्वितीय नामकरण सम्मेलनों का उपयोग किया था, इसलिए आप उन फ़ाइलों को बाहर कर सकते हैं, जिन्हें -x ध्वज, एक ला के साथ निर्माण समय पर संग्रह से नहीं चाहते हैं:

7z a -r archive1.zip subdir\ -x!*.src

जो .src में समाप्त होने वाली फ़ाइलों को छोड़कर एक संग्रह उत्पन्न करेगा

7-ज़िप के साथ शामिल हेल्प फ़ाइल जिसे आप ऐप के GUI संस्करण के भीतर से एक्सेस कर सकते हैं, में बहुत अधिक विवरण और कई और स्विच हैं।

-

यदि यह इतना विशाल नहीं था, तो मैं इसके बजाय कमांड लाइन से 7z का उपयोग करके सब कुछ स्वीप करने का सुझाव दे सकता हूं, फिर ट्रांसमिशन से पहले स्रोत कोड को संग्रह से हटा दें।

7z a -r archive1.zip subdir\

पुरालेख और संग्रह अभिलेख1.zip के अंदर और उप-फ़ोल्डर में सभी फाइलें और उप-फ़ोल्डर जोड़ता है। आर्काइव में फ़ाइल स्पेसिफिकेशंस में सबडिर / प्रीफिक्स होगा।

फिर स्रोत कोड फ़ाइलों को हटाने के लिए 7zip फ़ाइल प्रबंधक का उपयोग करें।


हजारों फ़ोल्डरों में सैकड़ों हजारों स्रोत फाइलें हैं - मैन्युअल रूप से उन्हें ज़िप से हटाना प्रत्येक फ़ाइल को मैन्युअल रूप से लाने और हाथ से फ़ोल्डर्स बनाने की तुलना में कठिन है।
davidjmcclelland

अद्यतन उत्तर के लिए धन्यवाद। शायद मैं कमांड लाइन में एक मिलान फ़िल्टर का उपयोग कर सकता हूं - हजारों फ़ोल्डर में निहित होने के बाद केवल दो फ़ाइल नाम हैं, ताकि काम हो सके।
davidjmcclelland

7z atzip -r "C: \ Users \ me \ path \ UI टीम \ LANGUAGE_STRINGS \ messages.zip" संदेश _ ??। गुण 7z a -tzip -r "C: \ Users \ path \ UI टीम \ UI टीम \ LANGUAGE_STRINGS गुण "jspResources.zip" jspResources _ ??। इन दो आदेशों के साथ मुझे केवल वही फाइलें मिलीं जिनकी मुझे एक सामान्य फ़ाइल नाम साझा करने की आवश्यकता थी। मैंने फॉर या लूप का उपयोग नहीं किया, 7-जिप ने पर्दे के पीछे सभी गंदे काम किए। सबसे अच्छी सलाह सोर्सफोर्ज पर डॉक्टर से परामर्श करना था, लेकिन यह एक टिप्पणी थी एक जवाब नहीं है, और आपके सुझाव काफी हद तक दर्पण हैं कि मुझे वहां क्या मिला। मुझे यह भी याद नहीं था कि 7-ज़िप में कमांड लाइन एक्ज़ीक्यूटर हाहा था।
davidjmcclelland
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.