मैं करने की कोशिश क्या:कैसे AppleScript साथ frontmost ऐप्लिकेशन के नाम पर मिलता है और इसका इस्तेमाल filepath पाने के लिए करने के लिए
जब मैं अपने पाठ संपादक में से एक (TextEdit, घृणा का पात्र, FoldingText) में हूँ मैं चाहता हूँ फ़ाइल पथ को प्रदर्शित करने के लिए यह ऐप्पलस्क्रिप्ट।
मैं frontmost खिड़की एप्लिकेशन के लिए पूछ मिल क्षुधा अच्छा नाम और आसानी से और उसके बाद मैं अगले कदम में POSIX पथ के लिए पूछ सकते मैं हूँ लगा।
समस्या:
स्क्रिप्ट पहले से ही 99% वहाँ है, लेकिन मैं कुछ याद कर रहा हूँ। यह काम जब मैं activeApp
की चर का उपयोग करने की कोशिश करता है और मैं इस त्रुटि मिलती है:
Error Number:System Events got an error: Can’t get application {"TextEdit"}.
-1728
यहाँ स्क्रिप्ट है:
tell application "System Events"
set activeApp to name of application processes whose frontmost is true
--This doesn't work either:
--do shell script "php -r 'echo urldecode(\"" & activeApp & "\");'"
tell application activeApp
set myPath to POSIX path of (get file of front document)
end tell
display dialog myPath
end tell
अगर मैं activeApp
साथ "TextEdit"
सब कुछ काम करता है का आदान-प्रदान। मदद की सराहना की जाएगी।
हो सकता है कि वहाँ यहाँ में कुछ है कि मदद करता है है: Get process name from application name and vice versa, using Applescript
प्रयास भाग बस महान है। बहुत ही लचीला और सही पथ को आउटपुट करने के लिए सभी अलग-अलग ऐप्स प्राप्त करने के बहुत कम हाथ का काम (जैसे ही मैंने इसका परीक्षण किया, IF शर्तों को लिखना बंद कर दिया)। Apropos, "अगर" मैं इसे nvALT के साथ काम करने के लिए मिल सकता है तो मेरे पास वांछित से भी अधिक है। – pattulus
यदि आप नाम "nvALT" है ((सिस्टम विशेषता "HOME") और "/ नोट्स" और टेक्स्ट फ़ील्ड का मान है, तो आप 'बताएं एप्लिकेशन "सिस्टम इवेंट्स जैसे कुछ कह सकते हैं (प्रक्रिया 1 जहां सबसे आगे सत्य है) विंडो 1 और ".txt" के टूल बार 1 के समूह 1 में से 1)। – user495470
यह अच्छा है। धन्यवाद। लेकिन जब मैं स्क्रिप्ट चलाता हूं तो यह पथ की शुरुआत में पाठ को हटा देता है, इसलिए '/ उपयोगकर्ता/उपयोगकर्ता नाम/पथ/से/फ़ाइल' 'उपयोगकर्ता नाम/पथ/से/फ़ाइल' बन जाता है। कोई विचार क्यों? – drstevok