मैं कमांड लाइन के माध्यम से अनुस्मारक कैसे जोड़ सकता हूं?


18

एक बार थोड़ी देर में कमांड लाइन से कुछ अनुस्मारक रिमाइंडर्स में जोड़ना उपयोगी हो सकता है - विशेष रूप से क्योंकि वे आईक्लाउड के लिए सिंक किए गए हैं। क्या ऐसा करने का कोई तरीका है?

एक समाधान जो AppleScript पर भरोसा नहीं करता है, उसे प्राथमिकता दी जाती है : a) प्रदर्शन कारणों (शायद मूर्खतापूर्ण) और b) AppleScript समाधान अक्सर मुझे अनाड़ी या अत्यधिक क्रियात्मक लगता है।


2
आप AppleScript का उपयोग क्यों नहीं करना पसंद करते हैं?
डैनियल

जवाबों:


9
osascript - title <<END
on run a
tell app "Reminders"
tell list "Reminders" of default account
make new reminder with properties {name:item 1 of a}
end
end
end
END

तुम भी एक खाली नई अनुस्मारक आइटम कार्रवाई के साथ एक स्वचालित वर्कफ़्लो बना सकते हैं और फिर इसके साथ चला सकते हैं automator -i title test.workflow

मैक ओएस एक्स संकेत पर इस पोस्ट को भी देखें ।


आपके उत्तर के लिए धन्यवाद। दुर्भाग्य से, यह किसी शेल स्क्रिप्ट या स्क्रिप्ट एडिटर में नहीं चलता है। मुझे किसकी याद आ रही है?
myhd

1
या तो #!/usr/bin/env bashपहली पंक्ति के रूप में जोड़ें और चलाएं chmod +x /path/to/script, या चलाएं bash /path/to/script.sh। या पहली और आखिरी लाइनों को हटा दें और इसे AppleScript संपादक को सहेजें।
११:४३ बजे लारी

1
ऑटोमोटिव हिंट ने किया टोटका! AppleScript समाधान के विपरीत इसे Reminders.app लॉन्च करने की आवश्यकता नहीं है, जो कि वास्तव में मैं चाहता था।
myhd

14

यहां एक और संस्करण है जो आपको कमांड लाइन तर्कों के माध्यम से शीर्षक, अंतिम तिथि और समय निर्धारित करने की अनुमति देता है।

#!/usr/bin/env bash                                                                                                               
# Make a new reminder via terminal script                                                                                         
# args: remind <title> <date> <time>                                                                                                                                                                                 

osascript - "$1" "$2" "$3" <<END                                                                                                        
on run argv                                                                                                                       
    set stringedAll to date (item 2 of argv & " " & item 3 of argv)                                                               
    tell application "Reminders"                                                                                                  
        make new reminder with properties {name:item 1 of argv, due date:stringedAll}                                             
    end tell                                                                                                                      
end run                                                                                                                           
END    

इसलिए यदि आप इस स्क्रिप्ट को "रिमाइंड" नाम दें और इसे निष्पादित करने वाले विशेषाधिकार दें (chmod 755 अनुस्मारक), तो आप ऐसा कर सकते हैं:

$ ./remind "Go to grocery store" 12/15/2013 10:00:00PM                              

यह मेरे लिए काम करता है, लेकिन मैं एक अलार्म कैसे जोड़ सकता हूं। यह है कि मैं इसे वास्तव में पॉपअप कैसे बना सकता हूं और मुझे अनुस्मारक की तारीख और समय पर याद दिलाता हूं? जैसा कि यह है, मेरे पास एक अनुस्मारक है, लेकिन एक अधिसूचना प्राप्त नहीं है।
ग्राउचेगाइजिन

2
tell application "Reminders"
    activate
    show list "Reminders"
end tell
set stringedDate to "12/11/2015"
set stringedHour to "10:00:00PM"
set stringedAll to date (stringedDate & " " & stringedHour)
tell application "Reminders" to tell list "Reminders" of default account to make new reminder with properties {name:"this is just test remainder", remind me date:stringedAll, due date:stringedAll, priority:1}

1
धन्यवाद! यह केवल उन सिस्टम्स पर काम करता है जहां अंग्रेजी यूजर इंटरफेस भाषा है। अन्य भाषाओं में, सूची के नाम स्थानीयकृत हैं, उदाहरण के लिए "रिमाइंडर" जर्मन में "
एरिनरुंगेन

यह उदाहरण वास्तव में "नियत तारीख" के विपरीत "याद दिलाने की तारीख" के उपयोग को दिखाता है। और "याद दिलाने की तारीख" ठीक वही है जो कोई अलार्म / अलर्ट पाने के लिए उपयोग करना चाहता है।
Grrrr

2

यहाँ उपरोक्त AppleScript की समान कार्यक्षमता है; लेकिन ईएस 6 के साथ जेएक्सए में।

#!/usr/bin/env osascript -l JavaScript

const RemindersApp = Application('Reminders');

function run(argv) {
    [name, date, time] = argv;
    dueDate = new Date(date + " " + time);
    reminder = RemindersApp.Reminder({name: name, dueDate: dueDate});
    RemindersApp.defaultList.reminders.push(reminder);
}

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.