एप्सस्क्रिप्ट का उपयोग करके क्लिपबोर्ड पर फ़ाइलों को कॉपी करना


11

अक्सर मैं खुद को कमांड लाइन में क्लिपबोर्ड पर फ़ाइलों को कॉपी करना चाहता हूं, ताकि मैं उन्हें मेल में संलग्नक के रूप में पेस्ट कर सकूं। यदि मेरे पास एक छवि फ़ाइल है, तो image1.png, मैं इसे पूरा कर सकता हूं

osascript -e 'tell app "Finder" to set the clipboard to ( POSIX file "image1.png" )'

यदि मैं उपरोक्त कमांड निष्पादित करता हूं और फिर मेल में एक नया संदेश खोलता हूं और कमांड V दबाता हूं, तो छवि फ़ाइल को अनुलग्नक के रूप में चिपकाया जाता है। ध्यान दें कि pbcopyस्पष्ट रूप से यहां कोई समाधान नहीं है, क्योंकि यह फ़ाइल की सामग्री की नकल करेगा और कमांड वी के साथ चिपकाए जाने पर रद्दी में परिणाम देगा।

मेरा सवाल यह है कि मैं एक ही काम कई फाइलों के साथ कैसे कर सकता हूं? मान लीजिए मैं दोनों पेस्ट करना चाहते हैं image1.pngऔर image2.png। यह खोजक से तुच्छ है (इन दोनों का चयन करें, कमांड सी, फिर मेल और कमांड वी पर स्विच करें; ध्वनि, दोनों फाइलें संलग्नक के रूप में दिखाई देती हैं) ... लेकिन मैं कमांड लाइन से यह कैसे कर सकता हूं?


1
यह एसयूसीएच है जो AppleScript से टक में एक दर्द है। मैं आपकी पसंदीदा स्क्रिप्टिंग भाषा के माध्यम से स्क्रिप्ट करने योग्य क्लिपबोर्ड प्रबंधकों में से एक को चुनने या कोको NSPasteboard का उपयोग करने की सलाह दूंगा। एक अन्य विकल्प एक फ़ोल्डर कार्रवाई बनाना हो सकता है, इसलिए आप फ़ोल्डर में फ़ाइलों को कॉपी कर सकते हैं, फिर फाइंडर को फ़ोल्डर में सभी आइटम का चयन करें, उन्हें क्लिपबोर्ड पर कॉपी करें और फ़ोल्डर को खाली करें। यदि आप केवल फाइलों को अटैचमेंट के रूप में ईमेल करना चाहते हैं, तो एक विकल्प आपकी सूची के माध्यम से पुनरावृत्त करना और मेल → नया आउटगोइंग संदेश → सामग्री → मेल संलग्नक बनाना है।
आर्ट टेलर

1
@ArtTaylor, विकल्पों के लिए धन्यवाद। मैं एक एप्सस्क्रिप्ट पर काम कर रहा हूं जो आपके द्वारा बताई गई आखिरी बात करता है, मूल रूप से कुछ ऐसा जो मेल को बताएगा make new attachment with properties {file name:this_file} at after last paragraph, एक रिपीट लूप का उपयोग करके argv। मैं सोच रहा था कि मूल प्रश्न का उत्तर, हालांकि, वास्तव में बस "आप इसे Applescript के साथ नहीं कर सकते हैं"।
JCOidl

मेरे पास वास्तव में वह भावना है, लेकिन मुझे "नहीं" कहने से नफरत है। मुझे लगता है कि कठिनाई एक सामान्य समाधान बनाने में है क्योंकि पेस्टबोर्ड में क्लिपबोर्ड सामग्री के कई संस्करण शामिल हैं, जिससे पेस्ट प्राप्तकर्ता को एक उपयुक्त प्रतिनिधित्व चुनने की अनुमति मिलती है।
आर्ट टेलर

जवाबों:


1

आप जो चाहते हैं उसके लिए यह बिल्कुल सही नहीं है, लेकिन मुझे लगता है कि यह आपको करीब ला सकता है। क्विकसिल्वर में कमांड लाइन टूल है। स्थापित होने पर, आप कमांड लाइन से क्विकसिल्वर ऐप तक फ़ाइलों को पाइप कर सकते हैं, और वहां से उन्हें मेल में संलग्नक के रूप में भेज सकते हैं।

क्विकसिल्वर कमांड लाइन टूल इंस्टॉल करने के लिए क्विकसिल्वर को सक्रिय करें। फिर वरीयताएँ विंडो खोलने के लिए क्विकसिल्वर> प्राथमिकताएँ पर जाएँ। विंडो के शीर्ष दाईं ओर प्राथमिकताएं पर क्लिक करें। बाईं ओर, कमांड लाइन टूल पर क्लिक करें और इंस्टॉल करें।

टर्मिनल में, आप टाइप कर पाएंगे

qs path/to/file1 path/to/file2 path/to/file3 path/to/file4

एंटर दबाने पर उन फाइलों को क्विकसिल्वर के पहले पेन में भेज दिया जाएगा। कार्रवाई फलक पर जाने के लिए टैब दबाएं और अनुलग्नक कार्रवाई के साथ मेल / नया ईमेल चुनें। प्रेस दर्ज करें, और आपकी चयनित फ़ाइलों के साथ एक नया ईमेल संलग्न होना चाहिए।

ध्यान दें कि आपको Quicksilver (Quicksilver> Preferences> Plug Ins) में मेल और कमांड लाइन प्लग इन को भी इंस्टॉल करना होगा।


1

आप कुछ ऐसा कर सकते हैं:

set f to {(POSIX file "/path/to/a/folder/a.png"), (POSIX file "/path/to/another/folder/b.png")}
tell application "Finder"
    try -- to delete any old temp folder
        delete folder "AS_mailCopy" of (path to temporary items)
    end try
    set tmp to make new folder at (path to temporary items) with properties {name:"AS_mailCopy"}
    duplicate f to tmp
    select files of tmp
    activate
    tell application "System Events" to keystroke "c" using command down
    delete tmp
end tell

अब आपके पेस्टबोर्ड में कई फाइलें (विभिन्न फ़ोल्डरों से) हैं जिन्हें आप अपने मेल में पेस्ट कर सकते हैं।


-5

क्यों न सिर्फ खींचें और छोड़ें? कभी-कभी तकनीकियां अत्यधिक जटिल हो जाती हैं और उन सरल चीजों को भूल जाती हैं जिन्हें मैक कर सकता है।


वाह। तीन लोग जो खींचने और छोड़ने पर आपत्ति करते हैं।
Zo219

3
नहीं, जो लोग "सिर्फ खींचें और ड्रॉप क्यों नहीं" की प्रतिक्रिया पर आपत्ति जताते हैं? एक प्रश्न के बारे में जो AppleScript के साथ कुछ करने के बारे में पूछता है।
डंकन बैबेज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.