जवाबों:
स्क्रिप्ट को कैसे सहेजा जाता है इसका मैक ओएस एक्स में कैसे काम होगा, इस पर बड़ा प्रभाव पड़ता है। ऐसा लगता है कि आपकी स्क्रिप्ट सिर्फ एक स्क्रिप्ट के रूप में सहेजी गई है और यही वह स्क्रिप्ट एडिटर है जिसके कारण आप स्क्रिप्ट को खोलते हैं।
समस्या को हल करने के लिए, AppleScript एडिटर में स्क्रिप्ट खोलें और इसे एक एप्लिकेशन के रूप में सहेजें। यह चाल के लिए चाहिए।
चरण हैं (संपादक में)
फ़ाइल> इस रूप में सहेजें> फिर आवेदन करने के लिए फ़ाइल प्रारूप सेट करें फिर सहेजें।
स्क्रिप्ट को सहेजते समय, आप फ़ाइल प्रारूप ड्रॉपडाउन से "एप्लिकेशन" चुन सकते हैं; तब आप इसे चलाने में सक्षम होंगे, और आप स्क्रिप्ट को खोलने के लिए स्क्रिप्ट एडिटर पर इसे खींच पाएंगे; या आप केवल रन चुन सकते हैं, इसलिए यह संपादन योग्य संस्करण को नहीं बचाएगा।
वैकल्पिक रूप से, आप उपयोग कर सकते हैं osascript
, टर्मिनल में आदेश या तो के रूप में osascript /path/to/script
या osascript -e "a short script here"
।
आप स्क्रिप्ट को अपने ~ / लाइब्रेरी / लिपियों / खोजक / फ़ोल्डर में भी रख सकते हैं और इसे सीधे स्क्रिप्ट मेनू से चला सकते हैं।
दूसरा तरीका है ऑटोमेटर में एक सर्विस बनाना जो osascript
फाइंडर में .scpt को चलाने के लिए कमांड का उपयोग करता है ।
(मैं अंग्रेजी में ऑटोमेटर का उपयोग नहीं कर रहा हूँ, ताकि शब्दांकन सही न हो)
चलाएँ AppleScript बॉक्स में, निम्न कोड दर्ज करें:
on run {input, parameters}
tell application "Finder"
--get the selected file
set selectedItem to (item 1 of (get selection))
--get location info (folder:file format)
set fileLocation to (selectedItem as alias) as string
--replace : with / with subroutine
set the semifinal to my replace_chars(fileLocation, ":", "/")
--remove Macintosh HD with subroutine
set the theFinal to my replace_chars(semifinal, "Macintosh HD", "")
end tell
do shell script "osascript " & "\"" & theFinal & "\""
return input
end run
on replace_chars(this_text, search_string, replacement_string)
set AppleScript's text item delimiters to the search_string
set the item_list to every text item of this_text
set AppleScript's text item delimiters to the replacement_string
set this_text to the item_list as string
set AppleScript's text item delimiters to ""
return this_text
end replace_chars
फ़ाइल> सहेजें और इसे "AppleScript रन करें" जैसा नाम दें
अब आप फाइंडर में एक .scpt फ़ाइल को राइट-क्लिक करें और "रन AppleScript" चुनें और अपनी स्क्रिप्ट निष्पादित करें देखें।
संदर्भ: उप- स्रोत का स्रोत - AppleScript: आवश्यक उप-रूटीन
osascript
और इसे संभालने के लिए कोडित नहीं किया गया है यदि एक से अधिक .scpt फ़ाइल को खोजक में चुना गया है। 2. इस तरह के कोडिंग रिगर्मल से गुजरने की बिल्कुल जरूरत नहीं है, जब कोड की निम्नलिखित सिंगल लाइन आपके द्वारा रन किए गए AppleScript एक्शन में जोड़े गए सभी चीजों को बदल देती है। do shell script "osascript " & quoted form of POSIX path of item 1 of input
अपने वर्तमान AppleScript कोड में सब कुछ बदलने के लिए यहां एक न्यूनतम उदाहरण दिया गया है: paste.ee/p/XngKA
if
स्टेटमेंट ब्लॉक को एक else
क्लॉज के साथ विस्तारित किया जा सकता है जो एक संदेश प्रदर्शित करता है कि चयनित फ़ाइल एक .scpt फ़ाइल नहीं थी। इस तरह से उपयोगकर्ता यह सोचकर नहीं रह जाता है कि यदि सेवा नहीं चलने पर वे गलती से गलत प्रकार की फ़ाइल का चयन नहीं करते तो कुछ भी क्यों नहीं हुआ।