डिस्क माउंट पर एप्सस्क्रिप्ट कैसे चलाएं


11

जब मैं किसी विशिष्ट डिस्क को माउंट करता हूं, तो मैं एक एप्सस्क्रिप्ट को चलाना चाहता हूं। यह नहीं है कि स्क्रिप्ट डिस्क पर स्थित है या नहीं, यह बस तब चलना चाहिए जब ओएस एक्स डिस्क को मापता है।

मैंने इसे फ़ोल्डर क्रियाओं के साथ पूरा करने की कोशिश की, लेकिन ऐसा लगता है कि यह इस तरह से करना संभव नहीं है।

स्पष्टीकरण:

  1. मुझे अपनी मैकबुक के साथ घर मिलता है
  2. मैं अपने USB हब को डिवाइस में प्लग करता हूं
  3. बाहरी डिस्क OS X में लगे हैं
  4. मेरी अप्प्सस्क्रिप्ट चला जाता है, उन डिस्क पर कुछ सामान करता है

मैं चरण 4 को स्वचालित करना चाहता हूं।


जवाबों:


4

आप उल्लेख नहीं करते हैं कि आप किस संदर्भ में डिस्क को बढ़ा रहे हैं, लेकिन दूसरे तरीके से जाने और एप्सस्क्रिप्ट के साथ डिस्क को माउंट करने के बारे में क्या है?

मैं संदर्भ का उल्लेख करता हूं क्योंकि जब Applescript के साथ डिस्क बढ़ते हैं तो यह बड़ा चेतावनी है कि यदि यह एक नेटवर्क वॉल्यूम है, और नेटवर्क पासवर्ड से सुरक्षित है, तो उपयोगकर्ता नाम और पासवर्ड को एक सहज के लिए स्क्रिप्ट में सादे पाठ के रूप में संग्रहीत करना होगा। निष्पादन।

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

on adding folder items to this_folder after receiving these_items
    repeat with aItem in these_items
        tell application "Finder"
            if (local volume of aItem) and (name of aItem is "[Name of Hard Drive]") then
                -- do something with the drive
                -- eject aItem
            end if
        end tell
    end repeat
end adding folder items to

मैं एएस के साथ एक डिस्क माउंट नहीं करना चाहता, मैं एक एएस चलाना चाहता हूं जब एक डिस्क माउंट हो जाती है। इसे और अधिक स्पष्ट करने के लिए मैं अपनी पोस्ट संपादित करूंगा।
18

मैं सवाल समझ गया, लेकिन मुझे नहीं लगता कि यह बहुत आसानी से संभव है। हालाँकि, मैंने थोड़ा सा काम किया और कुछ ऐसा पाया जो आपकी आवश्यकताओं को पूरा करने के लिए थोड़ा सा काम करना चाहिए।
फिलिप रेगन

मैंने स्क्रिप्ट में कुछ छोटे संशोधन किए। ठीक काम करता है :)
jsadfeew

12

संभवतया सबसे मजबूत समाधान संपत्ति के launchdसाथ एक नौकरी बनाना StartOnMountहै -boolean YES:

StartOnMount <boolean>
इस वैकल्पिक कुंजी के कारण हर बार फाइलसिस्टम आरोहित होने पर काम शुरू हो जाता है।

यह है कि टाइम मशीन यह कैसे करती है (देखें /System/Library/LaunchDaemons/com.apple.backupd-attach.plist)।


मुझे लगता है कि यह सबसे मजबूत समाधान है, क्योंकि यह केवल लॉन्चड पर निर्भर है, जो कि "इस तरह की चीज" ठीक से रहता है।
मैट

2

एक खोजक फ़ोल्डर का उपयोग करें जो मॉनिटर / वॉल्यूम। जब एक नया फ़ोल्डर दिखाई देता है, तो इसका मतलब है कि एक नया डिस्क संलग्न किया गया है। अब आपका FolderAction आपकी चीज करने के लिए एक Automator कार्रवाई, AppleScript, या शेल स्क्रिप्ट चला सकता है।


1

मार्कोपोलो डिस्क अटैचमेंट के आधार पर कार्रवाई कर सकता है।


इस एप्लिकेशन को छूट दी गई है, अब के लिए बनाए रखा कांटा का उपयोग करना चाहिए: controlplaneapp.com
Даниил Пронин

0

एक समाधान 3 निम्नलिखित कार्यों का पीछा करते हुए एक ऑटोमेकर एप्लिकेशन बनाना होगा:

  • निर्दिष्ट खोजक आइटम प्राप्त करें
  • माउंट डिस्क छवि
  • AppleScript चलाते हैं

1
फिर से, मैं किसी छवि या डिस्क को Applescript के साथ माउंट नहीं करना चाहता, मैं एक स्क्रिप्ट चलाना चाहता हूं जब एक डिस्क माउंट हो जाती है। मुझे आपके चरणों के साथ इसे पूरा करने का तरीका नहीं मिल रहा है।
19

हां, मैं स्पष्टीकरण के बाद देखता हूं कि यह काम नहीं करता है क्योंकि यह हार्ड ड्राइव है जो आप बढ़ रहे हैं (और छवि डिस्क नहीं)।
19

जैसा कि आपके उत्तर में पूछे गए सवाल से अलग प्रश्न है, आपको इसे हटाने पर विचार करना चाहिए।
डैनियलस्मेडगार्डबस

0

आपकी आवश्यकताओं के आधार पर, इसे विशिष्ट फ़ोल्डर / माउंट बिंदुओं पर लागू किया जा सकता है और उदाहरण के लिए USB फ्लैश ड्राइव बढ़ते समय उपयोग करने के लिए बहुत अच्छा है ...

http://www.jbmurphy.com/2011/07/15/os-x-running-a-script-when-a-usb-drive-is-inserted/

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