"यहाँ निकालें" आदेश बैच


2

मैं एक संपूर्ण फ़ोल्डर पर "एक्सट्रैक्ट हियर ..." कमांड को बैचना चाहूंगा। हर प्रकार के संग्रह को वर्तमान फ़ोल्डर में संग्रहित फ़ाइल के नाम से अनज़िप किया जाना चाहिए। मुझे सिर्फ * .zip के लिए कुछ BATCH स्क्रिप्ट मिली हैं, लेकिन मुझे परवाह नहीं है कि यह किस तरह का आर्काइव है, जब तक कि मेरा आर्काइव इसे खोल सकता है।

क्या किसी को पता है कि किस तरह के अभिलेखागार में इस तरह की एक बैचेनिंग फंक्शनलिटी है? मैं इसे 7-ज़िप या विंडर में नहीं ढूंढ सकता।

छद्म में:

Given folder x
foreach archiveFile in x or descendant of x
unzip archiveFile.extension >> "folder of archiveFile/archiveFile"

अद्यतन
मैंने केवल ज़िप फाइलों के लिए निम्नलिखित कोशिश की है:

dir /s /b *.zip > allzips.txt
for /F %%x in (allzips.txt) do unzip %%x

जहां unzipअभी भी एक अज्ञात कार्य है।


क्या आप यहां .zip के लिए अपना कोड पेस्ट कर सकते हैं और मैं इसे अनुकूलित करूंगा।
विलियम हिल्सम

@William वहाँ तुम जाओ।
मार्निक्स

जवाबों:


5

EDIT दिए गए: बैच स्क्रिप्ट का उपयोग करना।

आप इसे पूरा करने के लिए थर्ड पार्टी जिप टूल (अत्यधिक 7-जिप कमांड लाइन संस्करण जिसे 7z.exe कहा जाता है) का उपयोग करना चाहते हैं।

7z के साथ, वाक्य रचना इस प्रकार है:

7z <command> [<switch>...] <base_archive_name> [<arguments>...]

कमांड निकालने के लिए होगा:

7z e file.zip -y

-y स्विच मान लें कि "हां" किसी भी प्रश्न का उत्तर है जो निकासी के दौरान आ सकता है जैसे कि ओवरराइट अनुरोध।

तो आपकी आज्ञा पढ़ लेगा

CD "C:\Location\Of\ZipFiles"
FOR /F "USEBACKQ tokens=*" %%F IN (`DIR /b *.zip`) DO (7z e "%%F" -y)

यदि आप उन्हें किसी अन्य स्थान पर आउटपुट करना चाहते हैं, तो आप -o स्विच का उपयोग कर सकते हैं और निर्देशिका निर्दिष्ट कर सकते हैं:

7z e "%%F" -y -oC:\Some\Other\Folder\

संपादित करें:

पूर्ण पथ के साथ अर्क प्रदर्शन करने के लिए और सभी ज़िप अभिलेखागार को निर्दिष्ट करने के लिए, इसका उपयोग करें:

7z x -tzip "C:\Location\of\zips\*"

या यहां तक ​​कि Nutzier ... सी पर सभी ज़िप फ़ाइलें: ड्राइव:

7z x -r -tzip "C:\*"

EDIT2:

इसे अपनी आउटपुट फ़ाइल के साथ संगत बनाना, यह:

dir /s /b *.zip > allzips.txt
for /F %%x in (allzips.txt) do (7z x -tzip "%%x")

मैं फ़ोल्डर को बनाए रखना और उन्हें स्थान पर ही आउटपुट देना चाहूंगा। मैं के xबजाय का उपयोग नहीं करना चाहिए e? और: यह अभी भी केवल ज़िप फ़ाइलों के लिए है। वहाँ सिर्फ कहने के लिए एक रास्ता नहीं है: सभी संग्रह-की-फ़ाइलें?
मार्निक्स

तो आप ड्राइव पर कहीं से भी सभी ZIP FILES खींचना चाहते हैं और उन्हें यह बताने के लिए कहें कि वे ज़िप फ़ाइल के समान फ़ोल्डर में कहाँ बैठते हैं? और 7z में कोई भी निकालने का विकल्प 'ई' नहीं है
मेकफ्लैश

आप पूर्ण पथ को संरक्षित करने के लिए 'e' के बजाय 'x' का उपयोग कर सकते हैं। मेरी गलती।
मचाफलेश
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.