फ़ोल्डर के अंतर्गत images\
, मेरे पास निम्न फ़ोल्डर हैं:
Usa\
Italy\
Japan\
आदि..
मैं एक स्क्रिप्ट है कि एक बनाता चाहते हैं .zip
इन फ़ोल्डरों से प्रत्येक के लिए है, तो मेरे पास है usa.zip
, italy.zip
, japan.zip
।
मैं उसे कैसे कर सकता हूँ?
फ़ोल्डर के अंतर्गत images\
, मेरे पास निम्न फ़ोल्डर हैं:
Usa\
Italy\
Japan\
आदि..
मैं एक स्क्रिप्ट है कि एक बनाता चाहते हैं .zip
इन फ़ोल्डरों से प्रत्येक के लिए है, तो मेरे पास है usa.zip
, italy.zip
, japan.zip
।
मैं उसे कैसे कर सकता हूँ?
जवाबों:
मुझे लगता है कि यह विंडोज है, जैसा कि आप बैकस्लैश का उपयोग कर रहे हैं।
जाओ 7za.exe (के कमांड लाइन संस्करण 7-ज़िप ) और अपने में रख %PATH%
।
फिर इसे अपनी Images\
निर्देशिका के भीतर चलाएं :
for /f "tokens=* usebackq" %G in (`dir /b /a:d "%cd%"`) do 7za a -r -tzip "%~G.zip" "%~G"
या एक बैच स्क्रिप्ट में:
for /f "tokens=* usebackq" %%G in (`dir /b /a:d "%cd%"`) do 7za a -r -tzip "%%~G.zip" "%%~G"
यह मानते हुए कि आप लिनक्स पर हैं आप इस तरह से एक बैश स्क्रिप्ट का उपयोग कर सकते हैं:
#!/bin/bash
IFS=$'\n'
for f in $(find "$1" -mindepth 1 -maxdepth 1 -type d ); do
zip -r "$f" "$f"
done
यह स्क्रिप्ट फ़ोल्डर के रूप में पहला तर्क इस मामले की छवियों में ले जाएगी, और अपने सभी फ़ोल्डरों (यूएसए, इटली और जापान) को प्राप्त करने के लिए एक स्तर तक गहरी पुनरावृत्ति करेगी और उन्हें उसी स्थान पर ज़िपित करेगी।
यह पुरानी जिप फाइल या सोर्स फोल्डर को डिलीट नहीं करेगा। जिप मौजूदा जिप फाइलों का पता लगाने और फिर से चलने पर उन्हें अपडेट करने के लिए काफी स्मार्ट है। हालाँकि, यदि आप स्रोत फ़ोल्डर में कोई फ़ाइल हटाते हैं, तो इसे ज़िप फ़ाइलों में हटाया नहीं जाएगा। आप पहले से मौजूद फ़ाइलों को हटाकर इस व्यवहार को दरकिनार कर सकते हैं।
इसके लिए आप Winrar का उपयोग कर सकते हैं ।
अपने सभी फ़ोल्डरों का चयन करें, राइट क्लिक करें और चुनें Add to archive
। अब Put each file to separate archive
टैब के नीचे विकल्प चुनें Files
:
ओके पर क्लिक करें और आपका काम हो गया। आप ज़िप चाहते .rar के बजाय फाइलों, बस का चयन ZIP
में General
टैब के तहत Archive format
।
एमवीजी के इस जवाब ने उबंटू में मेरे लिए काम किया:
आप इस लूप का उपयोग कर सकते हैं
bash
:for i in */; do zip -r "${i%/}.zip" "$i"; done
i
लूप वेरिएबल का नाम है।*/
वर्तमान निर्देशिका के प्रत्येक उपनिर्देशिका का अर्थ है, और उन नामों में एक अनुगामी स्लैश शामिल होगा।cd
इसे निष्पादित करने से पहले सही जगह पर सुनिश्चित करें।"$i"
बस उस निर्देशिका का नाम, जिसमें अनुगामी स्लेश शामिल है। उद्धरण चिह्नों से यह सुनिश्चित होता है कि निर्देशिका नाम में व्हॉट्सएप परेशानी का कारण नहीं बनेगा।${i%/}
की तरह है,$i
लेकिन हटाए गए स्लैश के साथ, ताकि आप ज़िप फ़ाइल के नाम का निर्माण कर सकें।यदि आप यह देखना चाहते हैं कि यह कैसे काम करता है, तो
echo
इससे पहले शामिल करेंzip
और आप निष्पादित के बजाय मुद्रित कमांड देखेंगे।