উত্তর:
স্ক্রিপ্টটি কীভাবে সংরক্ষিত হবে তা ম্যাক ওএস এক্সে কীভাবে পরিচালিত হবে তার একটি বড় প্রভাব ফেলেছে It মনে হচ্ছে আপনার স্ক্রিপ্টটি কেবল একটি স্ক্রিপ্ট হিসাবে সংরক্ষিত হয়েছে এবং এটি স্ক্রিপ্ট সম্পাদকটি যখনই আপনি স্ক্রিপ্টটি খুলবেন তখনই এটি উন্মুক্ত করছে।
সমস্যা সমাধানের জন্য, অ্যাপলস্ক্রিপ্ট সম্পাদকটিতে স্ক্রিপ্টটি খুলুন এবং এটি অ্যাপ্লিকেশন হিসাবে সংরক্ষণ করুন। কৌতুক করা উচিত।
পদক্ষেপগুলি (সম্পাদকটিতে)
ফাইল> সেভ করুন> এরপরে অ্যাপ্লিকেশনটিতে ফাইল ফর্ম্যাট সেট করুন তারপরে সেভ করুন।
স্ক্রিপ্টটি সংরক্ষণ করার সময়, আপনি ফাইল ফর্ম্যাট ড্রপডাউন থেকে "অ্যাপ্লিকেশন" চয়ন করতে পারেন; তারপরে আপনি এটিকে চালাতে সক্ষম হবেন এবং স্ক্রিপ্টটি খোলার জন্য আপনি এখনও এটি স্ক্রিপ্ট সম্পাদক এ টেনে আনতে সক্ষম হবেন; অথবা আপনি কেবল রান নির্বাচন করতে পারেন তাই এটি সম্পাদনাযোগ্য সংস্করণটি সংরক্ষণ করবে না।
বিকল্পভাবে, আপনি osascript
টার্মিনালে কমান্ডটি ব্যবহার করতে পারেন , হয় osascript /path/to/script
বা হিসাবে হিসাবে osascript -e "a short script here"
।
আপনি স্ক্রিপ্টটি আপনার Library / লাইব্রেরি / স্ক্রিপ্টস / ফাইন্ডার / ফোল্ডারে রাখতে পারেন এবং এটিকে সরাসরি স্ক্রিপ্ট মেনু থেকে চালাতে পারেন।
আরেকটি উপায় হ'ল osascript
অটোমেটরে একটি পরিষেবা তৈরি করা যা ফাইন্ডারে একটি .scpt চালানোর জন্য কমান্ড ব্যবহার করে ।
(আমি ইংরেজিতে অটোমেটার ব্যবহার করছি না তাই শব্দবন্ধটি সঠিক নাও হতে পারে)
অ্যাপলস্ক্রিপ্ট রান বাক্সে, নিম্নলিখিত কোডটি প্রবেশ করুন:
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
ফাইল> সংরক্ষণ করুন এবং এটিকে "অ্যাপলস্ক্রিপ্ট চালান" এর মতো একটি নাম দিন
এখন আপনি ফাইন্ডারে একটি .scpt ফাইলটিতে ডান ক্লিক করতে পারেন এবং "অ্যাপলস্ক্রিপ্ট চালান" নির্বাচন করুন এবং আপনার স্ক্রিপ্টটি সম্পাদিত দেখতে পাবেন।
তথ্যসূত্র: সাব্রোটিনের উত্স - অ্যাপলস্ক্রিপ্ট: প্রয়োজনীয় সাব-রুটিন
osascript
। ২. নিম্নলিখিত কোডটির একক লাইন আপনাকে রান অ্যাপলস্ক্রিপ্ট ক্রিয়ায় যুক্ত করা সমস্ত কিছু প্রতিস্থাপন করে যখন এই জাতীয় কোডিং rigmarol অবিচ্ছিন্নভাবে প্রবেশ করার প্রয়োজন নেই। do shell script "osascript " & quoted form of POSIX path of item 1 of input
আপনার বর্তমান অ্যাপলস্ক্রিপ্ট কোডের সমস্ত কিছুর প্রতিস্থাপনের জন্য এখানে একটি ন্যূনতম উদাহরণ: পেস্ট.আই
if
স্টেটমেন্ট ব্লকটি এমন একটি else
ধারা দিয়ে প্রসারিত করা যেতে পারে যা একটি বার্তা প্রদর্শন করে যে নির্বাচিত ফাইলটি একটি স্ক্রিপ্ট ফাইল নয়। এইভাবে ব্যবহারকারী ভেবে অবাক হয়ে যায় না যে যদি তারা না দেখেন যে পরিষেবাটি চালু আছে তখন তারা ভুলক্রমে ভুল ধরণের ফাইল নির্বাচন করেছেন।