Automator का उपयोग करके फ़ोल्डर / फ़ाइल परिवर्तनों की जाँच करना?


9

क्या परिवर्तनों के लिए एक फ़ोल्डर / फ़ाइल की जांच करने का एक तरीका है (इसमें फ़ाइलें जोड़ना, फ़ाइलों को हटाना, फ़ाइलों में परिवर्तन, ...) शामिल हैं। ऑटोमेटर में 'फोल्डर एक्शन' केवल तभी चेक कर रहा है जब कोई फाइल नए जोड़े गए हैं।


मुझे नहीं लगता कि यह स्वदेशी के साथ संभव है। आप शायद कुछ स्क्रिप्टिंग (और स्क्रिप्टिंग क्रियाओं के साथ कुछ कर सकते हैं यदि आपको ऑटोमेटर के अंदर काम करने की आवश्यकता है), लेकिन अंतिम रन के बाद से परिवर्तनों का पता लगाने के लिए आपको वर्कफ़्लो चलाना होगा।
jtjacques

3
क्या आपने लॉन्च को देखा? cf stackoverflow.com/questions/1515730/…
kraymer

जवाबों:


5

आप कमांड के साथ "रन शैल स्क्रिप्ट" क्रिया जोड़ सकते हैं:

find <directory> -newermm <reference_file>

यह आपको अंदर की सभी फाइलें और निर्देशिका देगा <directory>जो पिछले परिवर्तन के बाद से बदल गए हैं <reference_file>। बस यह सुनिश्चित करें कि आप <reference_file>ऑटोमेटर स्क्रिप्ट चलाने के लिए हर बार संशोधित करें ।

man findअधिक विकल्पों के लिए खोज पुस्तिका पृष्ठ ( टर्मिनल में दर्ज करें ) को भी एक रूप दें। पता लगाना बहुत शक्तिशाली है और आपकी खोज को और निखारना आमतौर पर कुछ अतिरिक्त विकल्पों की बात है। उदाहरण के लिए केवल खोज के बाद संशोधित निर्देशिका <reference_file>:

find <directory> -type d -newermm <reference_file>

यदि संस्करण जो OSX के साथ जहाज पर्याप्त नहीं है, तो आप उस संस्करण की भी कोशिश कर सकते हैं जो findutils(काढ़ा, macports आदि) के साथ आता है जिसमें थोड़ी अधिक विशेषताएं होनी चाहिए।


1

मुझे ऑटोमेकर के साथ ऐसा करने का तरीका नहीं पता है, लेकिन ऐप स्टोर में एक ऐप है जिसे फोल्डर वॉच कहा जाता है जो आप पूछ रहे हैं।


1

इसलिए पिछली बार जब मैंने जाँच की, तो ऑटोमेटर आपके कार्यों को स्क्रिप्ट करने के लिए पृष्ठभूमि में एप्सस्क्रिप्ट का उपयोग कर रहा है। एप्सस्क्रिप्ट में इसकी अधिक गहराई नहीं है। हालांकि यह एक निर्देशिका में फ़ाइलों की सूची प्राप्त कर सकता है (और इसलिए आप यह पता लगा सकते हैं कि जब कुछ हटा दिया जाता है), मुझे विश्वास नहीं है कि यह किसी फ़ाइल में परिवर्तन की गणना कर सकता है।

क्या आप वास्तव में दोहन करने की आवश्यकता है फ़ाइल सिस्टम सूचना है। और जब से वह जानवर है, मैं kraymer की सलाह लेता हूं और लॉन्च का उपयोग करता हूं। यह किसी भी समय एक फ़ोल्डर की सामग्री को बदलने के लिए निष्पादित करने के लिए हुक है। Lingon (इसके पुराने SourceForge पेज को भी देखें) लॉन्चिंग में लोगों को कूदने में मदद करने के लिए एक बढ़िया एप्लिकेशन है। आप अपनी ऑटोमेटर स्क्रिप्ट / एप्लिकेशन को लिख सकते हैं कि आप जो कुछ भी करने की योजना बना रहे थे, जब आपकी निर्देशिका को संशोधित किया गया था और बस लॉन्च टास्क कॉल था।


1

आप मेरे पहले के उत्तर पर जांच कर सकते हैं , लेकिन ऐसा लगता है जैसे आप चाहते हैं

fs_usage -f filesys  

लॉन्चड फ़ाइल परिवर्तनों के लिए जाने का तरीका नहीं है, fs_usage अंतर्निहित मशीन का उपयोग करता है जो स्पॉटलाइट को शक्ति देता है।

संपादित करें: मैं यहाँ पूरी तरह से गलत हूँ। लॉन्चड में ठीक वही कार्यक्षमता है, जिसकी आवश्यकता है: फ़ाइल या निर्देशिका परिवर्तन पर कुछ करना।

आप एक .plist फ़ाइल बनाते हैं।

चीख "XML फ़ाइलें कॉन फ़े के लिए!" (यह वास्तव में करता है।)

और आप अपनी लॉन्च की गई नौकरी में नीचे एक या दोनों कुंजियों का उपयोग करना चाहते हैं।

WatchPaths <array of strings>
 This optional key causes the job to be started if any one of the listed
 paths are modified.

 QueueDirectories <array of strings>
 Much like the WatchPaths option, this key will watch the paths for modi-
 fications. The difference being that the job will only be started if the
 path is a directory and the directory is not empty.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.