फ़ोल्डर के बिना फ़ोल्डर की सामग्री को ज़िप करें


76

मेरे पास एक निर्देशिका folderहै जो इस तरह दिखती है:

folder
      -> root_folder
                    -> some files

मैं इस निर्देशिका में ज़िप करना चाहता हूं zipped_dir, मैंने कोशिश की:

zip -r zipped_dir.zip folder/*

लेकिन यह इस तरह दिखता है कि एक ज़िप उत्पन्न करता है:

zipped_dir
          -> folder
                   -> root_folder
                                 -> some files

दूसरे शब्दों में, यह उस निर्देशिका को शामिल करता है जिसकी सामग्री मैं ज़िप करना चाहता हूं। बिना कुछ हिलाए मैं इस मूल निर्देशिका को जिप से कैसे बाहर कर सकता हूं?

IE मैं इस अंतिम परिणाम चाहते हैं:

zipped_dir
          -> root_folder
                        -> some files

जवाबों:


74

इस आदेश का उपयोग करने का प्रयास करें (आपको विचार मिलेगा)

cd folder; zip -r ../zipped_dir.zip *

शायद कोई और तरीका है, लेकिन यह मेरे लिए सबसे तेज़ और सरल है :)


2
यह पूरी तरह से उस चाल को काम करता है। नोट: यह एक करेगा chroot ।
— लोरेटोपारसी

समतुल्य:zip -r zipped_dir.zip folder/*
— टोबियास कोलब

5
@TobiasKolb, शायद आप सवाल नहीं पढ़ते हैं। OP ज़िप में संग्रहीत पथ में फ़ोल्डर नहीं रखना चाहता है ।
— रोमियो निनोव

2
ऐसा करने का एकमात्र तरीका है
— रॉबर्ट

1
@PabloDiaz, मेरे उदाहरण cd -में काम करेगा (केवल एक कमांड) :) याcd ..
— रोमियो निनोव

30

का उपयोग करें -j; उदाहरण के लिए:zip -r -j zipped_dir.zip folder/*

यह 'root_folder' को ज़िप नहीं करेगा।


7
मुझे इस एक के साथ एक त्रुटि मिलती है अगर मेरे पास एक ही नाम की दो फाइलें हैं।
— क्रिस

11
ओपी शायद केवल माता-पिता निर्देशिका को हटा दिया है, उन सभी को नहीं।
— टोकलैंड

अभी भी निर्देशिका zip -r -j package.zip ./dist/static/*बनाता है संग्रह संरचनाdist/static/myfiels
— deathangel908

4
यह बच्चे की निर्देशिका फ़ाइलों को भी समतल करता है।
— सुमित रामटेके

3
-jविकल्प सभी निर्देशिका जानकारी को खत्म करने और केवल फ़ाइलों को सहेजने। यही है, एक "फ्लैट" तरीके से एक निर्देशिका के तहत सभी फ़ाइलों को संग्रहीत करने के लिए।
— रॉबर्ट


0

यह मेरे लिए काम करता है:

7z a zipped.zip ./rootDir/*

यह zipरूट के साथ एक आर्काइव बनाएगा : किसी भी फाइल / निर्देशिका के अंदर rootDir।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.