कमांड लाइन से 7-ज़िप के साथ एक संग्रह से एक निश्चित फ़ाइल निकालें


34

यदि मेरे पास एक संग्रह है, उदाहरण के लिए, some.zipजिसमें एक या एक से अधिक फाइलें हैं, तो मैं विंडोज में कमांड लाइन से 7-ज़िप के साथ केवल एक फ़ाइल (मुझे फ़ाइल का नाम पता है) कैसे निकाल सकता है ?

जवाबों:


32

सर्फसब के जवाब के अनुवर्ती के रूप में , पुनरावृत्ति के लिए अंत में एक आरआर ध्वज जोड़ें:

7z e [archive.zip] -o[outputdir] [fileFilter] -r

कई फिल्टर का समर्थन:

7z e [archive.zip] -o[outputdir] [fileFilter_1] [fileFilter_2] -r

उदाहरण:

एकाधिक फिल्टर कमांड लाइन:

7z e archive.zip -o outputdir *.xml *.dll -r

पुनश्च: मैं 7z.exe के बजाय 7za.exe का उपयोग करता हूं। यह मेरी स्क्रिप्ट में उपयोग की जाने वाली वास्तविक कमांड है:

7za.exe x archive.zip -o outputdir *.xml *.pdb *.exe *.ocx *.dll -r

1
मैं कई फ़ाइल फ़िल्टर कैसे जोड़ सकता / सकती हूं, .XMLऔर .zip? क्षमा करें, यदि मैं इस थ्रेड को हाइजैक कर रहा हूं, तो मैं केवल एक डुप्लिकेट प्रश्न जोड़ना नहीं चाहता था।
Fr0zenFyr

1
फिल्टर को अंतरिक्ष से अलग करके ठीक होना चाहिए। ऊपर संपादित उत्तर देखें। :)
zionyx

और मैं संग्रह के अंदर एक संग्रह से एक विशिष्ट फ़ाइल कैसे निकालूं? मान लें कि जिस फ़ाइल को मैं देख रहा हूँ, वह "MyFile.txt" "SubArchive.zip" के अंदर "MainArchive.zip" है। क्या यह संभव है?
पीटरको

1
@PeterCo, मुझे लगता है कि कमांड केवल आपके मामले SubArchive.zipसे निकालने में सक्षम है MainArchive.zip। प्रारंभिक निकासी के बाद MyFile.txtसे निकालने के लिए आप एक फॉलो अप कमांड चला सकते हैं SubArchive.zip
जियोनीक्स

13

आप बस अंत में फ़ाइल नाम जोड़ें।

7z e [archive.zip]-o [outputdir] [fileFilter]


1
मैं कई फ़ाइल फ़िल्टर कैसे जोड़ सकता / सकती हूं, .XMLऔर .zip? क्षमा करें, यदि मैं इस थ्रेड को हाइजैक कर रहा हूं, तो मैं केवल एक डुप्लिकेट प्रश्न जोड़ना नहीं चाहता था।
Fr0zenFyr

यह एक अलग सवाल है @ Fr0zenFyr। यह स्पष्ट करने के लिए कि यह डुप्लिकेट नहीं है, आप इस प्रश्न को अपने आप में संदर्भित कर सकते हैं, और फिर यह निर्दिष्ट कर सकते हैं कि आपका अलग कैसे है।
संगीत 2

@ music2myear: स्पष्टीकरण के लिए धन्यवाद। Zionyx द्वारा शीर्ष मतदान जवाब में पहले से ही एक समाधान शामिल है। मेरी टिप्पणी 2 साल से अधिक पुरानी है, इसलिए यह मान लेना उचित होगा कि मैंने या तो समाधान का उपयोग किया है या पहले से ही एक प्रश्न पोस्ट किया है और एक उत्तर मिला है (बीटीडब्ल्यू, यह मेरा मामला था)। मेरी सुलझी हुई पोस्ट एसओ पर है और मेरी टिप्पणी से पहले बनाया गया मूल धागा यहां है इसलिए मैं इस प्रश्न से लिंक नहीं कर सका। :)
बजे Fr0zenFyr

ध्यान दें: जैसा कि यहां लिखा गया है, -o और outputdir के बीच का स्थान न रखें।
किंग्स जस्टर

4

यदि आप 7z के लिए मैन पेज देखते हैं, तो आप पाएंगे कि 7z आर्काइव से फाइल निकालने के लिए निम्न कमांड का उपयोग किया जा सकता है (हालांकि मैन पेज से पथ का उपयोग गायब है):

7z x <archive> <path to file>

उदाहरण:

7z x backup.7z *.html
7z x backup.7z folderwithin/myfile.html

वैकल्पिक रूप से आप उपयोग कर सकते हैं e

कमांड लाइन संस्करण उपयोगकर्ताओं गाइड वास्तविक उपयोग के बारे में अधिक जानकारी नहीं है लगता है।


2
क्या संग्रह के भीतर वह सापेक्ष पथ है?
संगीत 2

हां, "फ़ोल्डरविथिन" संग्रह के मूल में एक फ़ोल्डर है।
किंग्स जस्टर

1

ध्यान दें कि 7zनिम्नलिखित सिंटैक्स है ( "-oMy Folder"आउटपुट फ़ोल्डर नाम सेट करने के लिए विकल्प के आसपास के रिक्त स्थान और उद्धरण देखें , मुझे यह पता लगाने में घंटों लग गए, क्योंकि मैंने मूल रूप से ऐसा किया था - गलत तरीका: * -o "My Folder"*):

7z e "my zip.zip" "-oMy Folder" *.jpg "all of these.*" -r
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.