मुझे यह ऑटोमोटिव में सिएरा 10.12.3 पर काम करने के लिए मिला।
सबसे पहले, मैंने स्क्रिप्ट का यह संस्करण बनाया: यह उसी तरह से कार्य करता है जैसे कि freefly42 का, बस एक ही तरीके से लिखने का एक अलग तरीका।
गैर-देशी बैश वक्ताओं के लिए अनुवाद करने के लिए, यह क्या करता है:
यदि कमांडलाइन तर्क के साथ चलाया जाता है, तो यह देखने की कोशिश करता है कि क्या तर्क एक निर्देशिका है, और यदि उस निर्देशिका में ".disable_osx_metadata" नाम की फ़ाइल है।
यदि विशेष फ़ाइल नहीं है, तो कुछ भी नहीं होता है। उस ड्राइव को नजरअंदाज कर दिया जाता है।
यदि विशेष फ़ाइल है, तो स्क्रिप्ट सभी ओएक्सएक्स मेटाडेटा को हटा देती है और कुछ छोटे नए आइटम बनाती है जो कुछ और को रोकती है। उदाहरण के लिए, .Trashes नामक एक फ़ाइल बनाना OS को निर्देशिका नाम बनाने से रोकता है। Trashes और फिर वहाँ फ़ाइलें लिखना।
यदि बिना किसी तर्क के चलाया जाता है, तो यह प्रत्येक निर्देशिका / वॉल्यूम के लिए एक बार चलता है।
इसलिए, यदि आप इसे मैन्युअल रूप से चलाते हैं या उस पर क्लिक करते हैं, तो यह सभी संलग्न ड्राइव की जांच करता है। यदि आप Automator में वर्कफ़्लो बनाते हैं, तो Automator इसे चलाता है जब भी कोई ड्राइव जुड़ी होती है, बस उस ड्राइव के लिए।
#!/bin/bash
x=.disable_osx_metadata
[[ "$1" ]] || exec find /Volumes -type d -maxdepth 1 -mindepth 1 -exec $0 {} \;
[[ -e "$1/$x" ]] || exit 0
mdutil -i off "$1"
rm -rf "$1"/.{,_.}{fseventsd,Spotlight-V*,Trashes}
mkdir "$1/.fseventsd"
touch "$1/.fseventsd/no_log" "$1/.Trashes" "$1/$x"
"Disable_osx_metadata" के रूप में सहेजें, chmod 755, कॉपी / usr / लोकल / बिन पर।
$ cd Documents/disable_osx_metadata/
$ chmod 755 disable_osx_metadata
$ sudo cp disable_osx_metadata /usr/local/bin
फिर Automator, New, Folder Action खोलें
तब मैंने पाया कि सिएरा 10.12.3 में भी आप एक गैर-स्पष्ट तरीके से ऑटोमोटिव में / वॉल्यूम निर्देशिका को जोड़ सकते हैं।
फाइंडर, फाइल, "गो टू फोल्डर ..." पर जाएं, मैन्युअल रूप से "/ वॉल्यूम" में लिखें और एंटर दबाएं।
अब यह आपको अपने HD और USB ड्राइव के साथ एक विंडो दिखाता है, लेकिन क्लिक करने के लिए कोई स्पष्ट "/ वॉल्यूम" फ़ोल्डर नहीं है। लेकिन शीर्षक बार "/ वॉल्यूम" कहता है, और यह नीचे भी दिखाई देता है।
आप "/ वॉल्यूम" के बगल में स्थित फ़ोल्डर आइकन को खींच सकते हैं, या तो टाइटल बार से या नीचे से, ऑटोमेकर के ऊपर, और "फोल्डर एक्शन फाइल और फोल्डर प्राप्त करता है:" [______] पर इसे ड्रॉप करें
खोजक बंद करें।
स्वचालित में वापस: बाईं ओर, नीचे स्क्रॉल करें और दाईं ओर "फ़ोल्डर फ़ोल्डर प्राप्त करें" खींचें और इसे छोड़ दें।
फिर बाईं ओर फिर से स्क्रॉल करें और "रन शैल स्क्रिप्ट" को दाईं ओर खींचें और इसे "फ़ोल्डर फ़ोल्डर प्राप्त करें" के नीचे छोड़ दें।
"पास इनपुट:" को "तर्क के रूप में" बदलें। शेल: [/ बिन / बैश] पास इनपुट: [तर्क के रूप में]
फिर स्क्रिप्ट को "रन शैल स्क्रिप्ट" के तहत बॉक्स पर / usr / लोकल / बिन से खींचें, ताकि यह कहे कि "/ usr / स्थानीय / बिन / अक्षम_सम x_metadata"
फ़ाइल, सहेजें, disable_osx_metadata.workflow
संदर्भ के लिए, यह इसमें सेव हो जाता है:
/ Users / your_NAME / Library / Workflows / Applications / Folder Actions
यदि आप कुछ गलत सहेजते हैं, तो मुझे लगता है कि इसे हटाने के लिए आपको मैन्युअल रूप से फाइंडर में नेविगेट करना होगा।
अंत में, प्रत्येक नए यूएसबी ड्राइव के लिए जिसे आप सुरक्षित करना चाहते हैं, आपको रूट फ़ोल्डर में ".disable_osx_metadata" नामक एक फ़ाइल बनानी होगी।
आप इसे टर्मिनल में कर सकते हैं: $ टच / वॉल्यूम / NO \ NAME / .isable_osx_metadata
या बस एक छोटी सी टेक्स्ट फाइल को एक दृश्यमान नाम (कोई अग्रणी बिंदु) के साथ न रखें और इसे किसी भी नए यूएसबी ड्राइव के मूल में कॉपी करें और कॉपी करने के बाद इसका नाम बदलें। disable_osx_metadata।
उस ड्राइव को अब हर बार साफ किया जाता है जब आप इसे अभी से संलग्न करते हैं।
जैसा मैं चाहूंगा वैसा साफ नहीं। OS को अधिक प्रदूषित न करने के लिए आपको ड्राइव को थोड़ा प्रदूषित करना होगा। ऐसा लगता है कि कोई रास्ता नहीं है कि ओएस बस इसे अकेला छोड़ दें और कोई भी फाइल न जोड़ें जो आपने नहीं पूछा।
TODO: डॉट फ़ाइल बनाने / निकालने के लिए सक्षम / अक्षम कार्यों को जोड़ें।
TODO: यह प्रत्येक निर्देशिका में .DS_Store फ़ाइलों को नहीं रोकता है।
TODO: क्या स्क्रिप्ट और foo.workflow फ़ाइल को पैकेज करना संभव है ताकि उपयोगकर्ता इनमें से अधिकांश मैनुअल दिशाओं को छोड़ सके? मुझे लगता है कि ऑटोमेकर में एक "निर्यात" विकल्प है जो किसी प्रकार की पैकेज फ़ाइल बनाता है।
TODO: संभवतः इस पूरी पोस्ट को अप्रचलित है। यह एप्सेस्क्रिप्ट + ऑटोमेकर वर्कफ़्लो बेहतर हो सकता है:
https://superuser.com/questions/319553/does-anyone-have-a-mac-terminal-script-to-remove-hidden/files/814104#814104