.DS_Store के बिना, एक मैक पर फ़ोल्डरों को संपीड़ित करना


63

वहाँ से छुटकारा पाने के लिए वैसे भी है। एक मैक पर एक फ़ोल्डर को संपीड़ित करते समय .DS_Store?

मैं एक मैक पर काम करता हूं और जिप प्रारूप में ग्राहकों को काम भेजता हूं, लेकिन हमेशा उनके अंदर .DS_Store फ़ोल्डर पर पूछताछ की जाती है। यह अपरिहार्य प्रतीत होता है जब तक कि मैं विंडोज पर फ़ोल्डर नहीं खोलता हूं। तो .DS_Store को हटा दें और इसे वहां संपीड़ित करें। यह काफी बड़ी परेशानी है।

क्या आस-पास कोई आसान काम है?

जवाबों:


108

यदि आप टर्मिनल में नीचे कूदने का मन नहीं बनाते हैं, तो यह बहुत आसान है। यदि आप में हैं /Users/username, जो कि आपकी $ HOME डायरेक्टरी है और इसमें foo नाम की एक उपनिर्देशिका है जिसे आप ज़िप करना चाहते हैं, लेकिन सभी .DS_Store फाइलों को अनदेखा करें, तो निम्न कार्य करें।

zip -r foo.zip foo -x "*.DS_Store"

इसकी व्याख्या करने के लिए, हम निम्नलिखित मापदंडों / तर्कों के साथ जिप निष्पादन योग्य चला रहे हैं:

  • -r हम जिस लक्ष्य को प्राप्त करना चाहते हैं, उसके नीचे सभी निर्देशिकाओं को शामिल करने के लिए।
  • foo.zip ज़िप संग्रह का नाम हम बना रहे हैं
  • foo वह लक्ष्य निर्देशिका है जिसे हम ज़िप करना चाहते हैं
  • -x "*.DS_Store" उन सभी फ़ाइलों को बाहर कर देता है जिनका मार्ग स्ट्रिंग में समाप्त होता है ".DS_Store"

कोई नासमझ तीसरे पक्ष के अनुप्रयोगों की जरूरत नहीं है और न ही आपको अपनी .DS_Store फ़ाइलों को रद्दी करने की आवश्यकता है - बस OSX / डार्विन में निर्मित सभी यूनिक्स टूल अच्छाई पर भरोसा करें।


1
यह एकदम सही धन्यवाद है। आउट ऑफ इंट्रेस्ट, मैं मल्टी पाथ एंडिंग्स को कैसे बाहर करूंगा? Zip -r foo.zip foo -x "* .DS_Store, * .svn" जैसा कुछ?
डेनिक्सड

5
दो बार -x तर्क का प्रयोग करें: zip -r foo.zip foo -x *.DS_Store -x *.svn*
व्हेल

कस्टम फ़ोल्डर आइकन के लिए आप OS-files OSX को कैसे बनाते हैं? फ़ाइल नाम के अंत में उनके पास एक नई रेखा या ऐसा कुछ है।
डैनियल बेक

मुझे कोई सुराग नहीं है कि उन फ़ाइल नाम क्या दिखते हैं इसलिए मैं यहां कोई वास्तविक मार्गदर्शन नहीं दे सकता।
व्हेल

1
@ डैनियल बेक - तो CleanArchiver का उपयोग करते रहें और किसी और के सवाल के कमेंट सेक्शन को हाईजैक न करें और कॉल के उत्तर को हीन मान लें जब वह मूल पोस्टर के लिए काम करता है? आपके प्रश्न का उत्तर, आश्चर्यजनक रूप से पर्याप्त है -x 'Icon?'। "?" एक फ़ाइल ग्लोबबिंग पैटर्न में वर्ण का अर्थ है "एक एकल वाइल्डकार्ड चरित्र से मेल खाता है", इसलिए यह इस बात से बेपरवाह होगा कि "क्या है?" वास्तव में है आप केवल -x तर्कों को जोड़कर किसी भी प्रकार की तदर्थ फ़ाइलों को बाहर कर सकते हैं। zipबहुत लचीला है। क्या आप मानते हैं कि इन तीसरे पक्ष के बर्तन वास्तव में पर्दे के पीछे उपयोग करते हैं?
व्हेल

5

आप एक ऑटोमेकर एप्लिकेशन बना सकते हैं जो एक फ़ोल्डर को इनपुट के रूप में स्वीकार करता है और बिना किसी क्रॉफ्ट के फ़ोल्डर सामग्री की ज़िप फ़ाइल का उत्पादन करता है।

इस एप्लिकेशन को / Users / You / Applications में संग्रहीत करें और फिर इसे अपने खोजक टूलबार में खींचें। फिर आप किसी भी खोजक विंडो से ऐप पर फ़ोल्डर्स खींच सकते हैं।

एक ऑटोमेटर एप्लिकेशन बनाएं

जोड़ें ' चयनित खोजक आइटम प्राप्त करें ' कदम। और ' पास इनपुट ' विकल्प के साथ ' रन शेल स्क्रिप्ट ' स्टेप को भी ' आर्ग्युमेंट्स ' के रूप में सेट करें ।

वर्कफ़्लो चरणों को जोड़ें

लिपी:

name=("$@")
cd "$name"
zipFileName=`basename "$name"`
zip "${zipFileName}.zip" -r ./* \
    -x */.DS_Store \
    -x */.git \
    -x */.svn \
    -x */.idea \
    -X */__MACOSX
mv "${zipFileName}.zip" ../

एक फ़ोल्डर को इनपुट के रूप में स्वीकार करता है और फ़ोल्डर के नाम के साथ एक जिपफाइल का उत्पादन करता है।


यह बहुत अच्छा है! मैं इसे कैसे संशोधित कर सकता हूं कि मैं कई फाइलें खींच सकता हूं, आउटपुट नाम में dirname होना चाहिए;
अनब्रेक

2
@ मुझे पता नहीं है। मैं अब एक मैक नहीं हूं ;-)
मिचेल रूज़

3

मुझे नहीं लगता कि डिफ़ॉल्ट रूप से ऐसा करने का कोई तरीका है, लेकिन दो तरीके हैं जो मैं सोच सकता हूं कि आप क्या चाहते हैं।

सबसे पहले, मुझे FolderWasher नाम का एक मुफ्त ऐप मिला । एप्लिकेशन पर फ़ोल्डर ड्रॉप करें और यह .DS_Store फ़ाइलों को हटा देगा और आपके लिए इसे ज़िप कर देगा।

वैकल्पिक रूप से (और संभावित रूप से 3rd पार्टी सॉफ्टवेयर से बेहतर) आप निर्माण के बाद संग्रह को साफ करने के लिए ऑटोमेटर का उपयोग कर सकते हैं। वास्तव में इसके लिए पहले से ही एक कार्रवाई है । यह केवल एक अतिरिक्त कदम है, और आप कार्रवाई को फाइंडर तक खींच सकते हैं ताकि इसे ढूंढना आसान हो।


3

यदि आपने पहले ही ज़िप संग्रह बना लिया है (या हटाने का एक सरल तरीका चाहते हैं .DS_Store पोस्ट ज़िप निर्माण), तो यह सभी .DS_Store फ़ाइलों को ज़िप संग्रह में किसी भी पथ पर निकाल देगा:

zip -d archive.zip "*/*.DS_Store"

व्हेल का जवाब अभी भी निश्चित रूप से सबसे अच्छा है, क्योंकि यह उर्फ ​​हो सकता है और इसके बारे में भूल सकता है। मेरे मामले में, मैंने आर्काइव यूटिलिटी से जिप बनाई, तब मुझे महसूस हुआ कि मुझे इन्हें हटा देना चाहिए।


2

टर्मिनल खोलें (/Applications/Utilies/Terminal.app) और छुपी हुई फ़ाइलें दिखाने के लिए निम्न आदेश चलाएँ:

defaults write com.apple.finder AppleShowAllFiles TRUE && killall Finder

छिपी हुई फ़ाइलों को छिपाने के लिए बस चलाएं:

defaults write com.apple.finder AppleShowAllFiles FALSE && killall Finder

आप अपनी निर्देशिका को कोई नुकसान पहुँचाए बिना किसी भी अन्य फ़ाइलों की तरह .DS_Store फ़ाइलों को हटा सकते हैं। जैसा कि विकिपीडिया पर कहा गया है, "DS_Store (डेस्कटॉप सर्विसेज स्टोर) Apple इंक के मैक ओएस एक्स ऑपरेटिंग सिस्टम द्वारा बनाई गई एक छिपी हुई फ़ाइल है जो फ़ोल्डर की कस्टम विशेषताओं जैसे आइकन की स्थिति या पृष्ठभूमि छवि की पसंद को संग्रहीत करने के लिए है।"


2

उन अभिलेखागार बनाने के लिए CleanArchiver का उपयोग करें । इस तरह आपको अपनी फ़ोल्डर प्राथमिकताओं को कचरा करने की आवश्यकता नहीं है।


2

यदि आप इसे टर्मिनल में चलाते हैं, तो यह फ़ोल्डर बनाते समय उन्हें स्वतः उत्पन्न होने से रोकता है, यदि आप चुनते हैं तो आप इसे वापस चालू कर सकते हैं।

defaults write com.apple.desktopservices DSDontWriteNetworkStores true

यदि आप फ़ाइलें अब और नहीं बनाते हैं, तो आप यह सत्यापित करने के लिए (ऊपर) उदाहरण का उपयोग कर सकते हैं। मुझे एक ज़िप फ़ाइल अपलोड करनी थी और हर फ़ोल्डर में वह फ़ाइल थी और इससे मुझे मदद मिली।


0

वे क्या कर रहे हैं, और सभी स्थानों के एडोब मदद साइट पर उन्हें हटाने के लिए कैसे की एक व्याख्या है ।

वे एक फ़ोल्डर के कॉन्फ़िगरेशन को संग्रहीत करने के लिए उपयोग की जाने वाली एक छिपी हुई फ़ाइल हैं (जैसे आइकन स्थिति, रंग, फ़ोल्डर पृष्ठभूमि और स्क्रॉल स्थिति। दुर्भाग्य से उन्हें स्थायी रूप से बनाए जाने से रोकने का कोई तरीका नहीं लगता है, हालांकि ऐप्पल स्वीकार करते हैं कि वे समस्याओं का कारण बन सकते हैं। कुछ उपयोगकर्ता।

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