AppleScript Apple की कुछ हद तक अस्पष्ट स्क्रिप्टिंग भाषा है, लेकिन यह नौसिखिया प्रोग्रामर्स के लिए लाभ उठाने का एक शक्तिशाली उपकरण है। कुछ चतुर AppleScripts के साथ जो कष्टप्रद कार्यों को संभालते हैं, हम उत्पादकता बढ़ा सकते हैं और अपनी परेशानियों को स्वचालित कर सकते हैं।
AppleScript क्या है?

AppleScript Finder, iTunes, QuickTime और Mail जैसे अधिकांश Mac एप्लिकेशन के साथ इंटरफेस करता है। यदि आप Automator से परिचित हैं, तो AppleScript उस एप्लिकेशन का एक तरह का पावर यूजर संस्करण है।
1. छिपी फ़ाइलों को टॉगल करें
इसे एप्लिकेशन के रूप में सेव करें, और आपके पास Finder में छिपी फ़ाइलों को प्रकट करने के लिए एक क्लिक करने योग्य टॉगल होगा।
set newHiddenState to "YES" try set oldHiddenState to do shell script "defaults read com.apple.finder AppleShowAllFiles" if oldHiddenState is in {"1", "YES"} then set newHiddenState to "NO" end if end try do shell script "defaults write com.apple.finder AppleShowAllFiles " & newHiddenState do shell script "killAll Finder"
2. फ़ाइलों का बैच नाम बदलें
यह स्क्रिप्ट उपयोगकर्ता से एक फ़ाइल नाम के लिए संकेत देगी और फिर चयनित फ़ाइलों को उस टेक्स्ट स्ट्रिंग प्लस एक बढ़ते इंडेक्स के साथ स्वचालित रूप से नाम बदल देगी। यह एक से दस तक की फ़ाइलों के लिए उपयोगी रूप से अग्रणी शून्य भी जोड़ता है।
-- यह कोड https://gist.github.com/oliveratgithub/ से आता है -- AppleScript Editor में खोलें और एप्लिकेशन के रूप में सेव करें -- ------------------------------------------------------------ -- यह फ़ाइल नाम को टुकड़ों में तोड़ने के लिए आवश्यक है (नाम और एक्सटेंशन अलग करें) set text item delimiters to "." tell application "Finder" set all_files to every item of (choose file with prompt "उन फ़ाइलों को चुनें जिन्हें आप नाम बदलना चाहते हैं:" with multiple selections allowed) as list display dialog "नया फ़ाइल नाम:" default answer "" set new_name to text returned of result -- अब हम सभी चयनित फ़ाइलों के माध्यम से लूप करना शुरू करते हैं। 'index' हमारा काउंटर है जिसे हम शुरू में 1 पर सेट करते हैं और फिर हर फ़ाइल के साथ गिनते हैं। -- 'index' नंबर निश्चित रूप से हमारी फ़ाइलों के क्रमिक नाम बदलने के लिए आवश्यक है! repeat with index from 1 to the count of all_files -- हमारे इंडेक्स का उपयोग करके, हम अपनी सूची से उपयुक्त फ़ाइल चुनते हैं set this_file to item index of all_files set file_name_count to text items of (get name of this_file) -- यदि इंडेक्स नंबर 10 से कम है, तो हम उचित फ़ाइल नाम सॉर्टिंग के लिए बाद में एक पूर्ववर्ती "0" जोड़ेंगे if index is less than 10 then set index_prefix to "0" else set index_prefix to "" end if -- -- आइए जांचें कि क्या हमारी सूची से वर्तमान फ़ाइल (इंडेक्स-नंबर के आधार पर) का कोई फ़ाइल-एक्सटेंशन भी है if number of file_name_count is 1 then -- file_name-count = 1 का मतलब है, हमने पूर्ण फ़ाइल नाम से केवल 1 टेक्स्ट-स्ट्रिंग निकाला। तो कोई फ़ाइल-एक्सटेंशन मौजूद नहीं है। set file_extension to "" else -- यप, हम वर्तमान में एक फ़ाइल को प्रोसेस कर रहे हैं जिसका फ़ाइल-एक्सटेंशन है -- फ़ाइल का नाम बदलने के बाद हमें मूल फ़ाइल-एक्सटेंशन को फिर से जोड़ना होगा! set file_extension to "." & item -1 of file_name_count end if -- आइए अपनी फ़ाइल का नाम बदलें, 'इंडेक्स' से क्रमिक संख्या जोड़ें और फ़ाइल-एक्सटेंशन जोड़ें set the name of this_file to new_name & index_prefix & index & file_extension as string end repeat -- बैच नाम बदलने के कार्य को सफलतापूर्वक पूरा करने के लिए बधाई :) display alert "सब हो गया! " & index & " फ़ाइलों का नाम '" & new_name & "' से बदल दिया गया। आपका दिन शुभ हो! :)" end tell
3. प्रतिशत द्वारा इमेज स्केल करें
यह स्क्रिप्ट इमेज को उनके मूल आकार के 50% तक स्केल करेगी।
-- एक इमेज के लिए संकेत दें set theImageFile to choose file of type "public.image" with prompt "कृपया एक इमेज चुनें:" -- एक आउटपुट फ़ोल्डर ढूंढें set theOutputFolder to (path to desktop folder as string) -- Image Events लॉन्च करें tell application "Image Events" launch -- इमेज खोलें set theImage to open theImageFile tell theImage -- इमेज के लिए एक सेव नाम निर्धारित करें set theName to name set theSaveName to "smlr-" & theName -- इमेज को 50% से स्केल करें scale by factor 0.5 -- आउटपुट फ़ोल्डर में इमेज को सेव नाम का उपयोग करके सेव करें save as file type in (theOutputFolder & theSaveName) -- इमेज बंद करें close end tell end tell
4. इमेज को पिक्सेल चौड़ाई में स्केल करें
यह पिछली स्क्रिप्ट के अधिकांश प्रारंभ का उपयोग करता है लेकिन प्रतिशत के बजाय पिक्सेल चौड़ाई में स्केल करता है। यह उपयोगकर्ता से वांछित पिक्सेल चौड़ाई के लिए संकेत देगा और उस पिक्सेल चौड़ाई को नई फ़ाइल के नाम की शुरुआत में जोड़ देगा।
-- एक इमेज के लिए संकेत दें set theImageFile to choose file of type "public.image" with prompt "कृपया एक इमेज चुनें:" set dialogResult to (display dialog "वांछित पिक्सेल चौड़ाई दर्ज करें:" default answer "") try set pixelWidth to (text returned of dialogResult) as integer end try -- एक आउटपुट फ़ोल्डर ढूंढें set theOutputFolder to (path to desktop folder as string) -- Image Events लॉन्च करें tell application "Image Events" launch -- इमेज खोलें set theImage to open theImageFile tell theImage -- इमेज के लिए एक सेव नाम निर्धारित करें set theName to name set theSaveName to (pixelWidth as text) & "-px-" & theName -- इमेज को pixelWidth पर स्केल करें scale to size pixelWidth -- आउटपुट फ़ोल्डर में इमेज को सेव नाम का उपयोग करके सेव करें save as file type in (theOutputFolder & theSaveName) -- इमेज बंद करें close end tell end tell
5. चुने गए गंतव्य पर फ़ोल्डर्स का बैकअप लें
यह सरल स्क्रिप्ट एक चुने गए फ़ोल्डर को एक चुने गए गंतव्य पर डुप्लिकेट करती है जो जटिल ड्रैग-एंड-ड्रॉप कॉपी को थोड़ा कम दर्दनाक बना सकती है।
set backupTarget to (choose folder with prompt "बैकअप लक्ष्य चुनें") set backupDestination to (choose folder with prompt "बैकअप गंतव्य चुनें") tell application "Finder" duplicate folder backupTarget to folder backupDestination end tell
निष्कर्ष
AppleScript के बारे में अधिक जानने के लिए, आप Apple के अपने दस्तावेज़ देख सकते हैं। बेहतर अभी भी MacOSXAutomation.com है, जो नौसिखियों के लिए अधिक अनुकूल है।