क्या AppleScript का उपयोग करके किसी एप्लिकेशन के आइकन फ़ाइल पथ को लाने का एक तरीका है?


0

मैं वर्तमान में एक अल्फ्रेड वर्कफ़्लो लिख रहा हूं जिसमें मैं एक एप्लिकेशन से जुड़े आइकन फ़ाइल पथ को पुनः प्राप्त करना चाहता हूं। क्या Apple स्क्रिप्ट का उपयोग करने का कोई तरीका है?

tell application "Finder"
    set appPath to POSIX path of (path to application "Terminal")
    set resourcesPath to appPath & "Contents/Resources"
    set contentFiles to (list folder resourcesPath)
end tell

यह करते हुए कि मैं फ़ाइल नामों की एक सूची प्राप्त करने में कामयाब रहा, लेकिन अब मैं वास्तव में नहीं जानता कि फ़िल्टर कैसे किया जाए .icns फ़ाइल।


आप अब तक क्या हासिल कर पाए हैं? आपने क्या प्रयास किया है?
bjbk

जवाबों:


1

मैं एल्फ्रेड के साथ परिचित नहीं हूँ लेकिन जहाँ तक AppleScript और एक एप्लीकेशन बंडल के आईकॉन का पाथनेम आमतौर पर हार्डकोड नहीं किया गया है, इसलिए ऐसा नहीं है कि आप सिंगल कमांड के साथ अपना रास्ता पा सकते हैं। इसके अतिरिक्त के मूल्य CFBundleIconFile के साथ और बिना हो सकता है .icns एक्सटेंशन, इसलिए एप्लिकेशन बंडल के आइकन के पूरी तरह से योग्य पथनाम का निर्माण करते समय आपको अपना कोड लिखते समय इस पर ध्यान देना होगा।

एक उदाहरण के रूप में, बिल्ट-इन का उपयोग कर /Applications/Calculator.app /Applications/Calculator.app/Contents/Info.plist दिखाता है कि आइकन फ़ाइल "Calculator.icns" है, लेकिन यह रास्ता नहीं देता है, हालांकि यह आमतौर पर एप्लीकेशन बंडल के भीतर संसाधन फ़ोल्डर में होगा और इस मामले में " /Applications/Calculator.app/Contents/Resources/Calculator.icns। इसलिए आपको इसका मूल्य प्राप्त करना होगा CFBundleIconFile App के से .plist फ़ाइल और जाँच करें कि क्या यह है या नहीं .icns एक्सटेंशन और यह देखने के लिए परीक्षण करें कि क्या वह डिफ़ॉल्ट स्थान पर है, जो कि सामान्य रूप से है, लेकिन हमेशा नहीं।

तो टर्मिनल में आप का उपयोग कर क्वेरी करेंगे defaults, उदा .:

defaults read /Applications/Calculator.app/Contents/Info.plist CFBundleIconFile

AppleScript में आप परिणामों को एक चर में सेट कर सकते हैं और वहां से जा सकते हैं, उदा .:

set appIcon to do shell script "defaults read /Applications/Calculator.app/Contents/Info.plist CFBundleIconFile"

यह रिटर्न: Calculator.icns

जहाँ तक,

defaults read /Applications/Utilities/Terminal.app/Contents/Info.plist CFBundleIconFile

यह दिखाता है: Terminal

फिर भी एफक्यूपी है /Applications/Utilities/Terminal.app/Contents/Resources/Terminal.icns


-1

प्रयत्न:

do shell script "find " & quoted form of POSIX path of (path to application "Terminal") & " -iname \"*.icns\";"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.