Wie kann ich Erinnerungen über die Befehlszeile hinzufügen?


18

Hin und wieder kann es nützlich sein, Reminders.app einige Erinnerungen über die Befehlszeile hinzuzufügen - insbesondere, weil sie mit iCloud synchronisiert sind. Gibt es eine Möglichkeit dazu?

Eine Lösung, die sich nicht auf AppleScript stützt, wird bevorzugt : a) aus Leistungsgründen (wahrscheinlich albern) und b) AppleScript-Lösungen fühlen sich für mich oft unbeholfen oder übermäßig ausführlich an.


2
Warum bevorzugen Sie es, AppleScript nicht zu verwenden?
— Daniel

Antworten:


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

Sie können auch einen Automator-Workflow mit nur einer leeren Aktion "Neues Erinnerungselement" erstellen und dann mit ausführen automator -i title test.workflow.

Siehe auch diesen Beitrag unter Mac OS X Hinweise .


Vielen Dank für Ihre Antwort. Leider kann dies weder in einem Shell-Skript noch im Skript-Editor ausgeführt werden. Was vermisse ich?
— Myhd

1
Entweder #!/usr/bin/env bashals erste Zeile hinzufügen und ausführen chmod +x /path/to/scriptoder ausführen bash /path/to/script.sh. Oder entfernen Sie die erste und letzte Zeile und speichern Sie den AppleScript-Editor.
— Lri

1
Der Automator-Hinweis hat es geschafft! Im Gegensatz zur AppleScript-Lösung muss die Reminders.app nicht gestartet werden, genau das, was ich wollte.
— Myhd

14

In der folgenden Version können Sie Titel, Enddatum und Uhrzeit über Befehlszeilenargumente festlegen.

#!/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    

Wenn Sie dieses Skript "remind" nennen und ihm Ausführungsberechtigungen zuweisen (chmod 755 remind), können Sie dies tun:

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

Das funktioniert bei mir, aber wie kann ich einen Alarm hinzufügen. Auf diese Weise kann ich das Popup-Fenster aktivieren und mich an das Datum und die Uhrzeit der Erinnerung erinnern lassen? So wie es ist, habe ich eine Erinnerung, erhalte aber keine Benachrichtigung.
— GrouchyGaijin

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
Hallo danke! Dies funktioniert nur auf Systemen, bei denen Englisch die Sprache der Benutzeroberfläche ist. In anderen Sprachen werden die Listennamen lokalisiert, z. B. "Erinnerungen" wird zu "Erinnerungen" auf Deutsch
— myhd

Dieses Beispiel veranschaulicht die Verwendung des "Erinnerungsdatums" im Gegensatz zum "Fälligkeitsdatum" oben. Und das "Erinnerungsdatum" ist genau das, was man verwenden möchte, um den Alarm / die Warnung zu erhalten.
— Grrrr

2

Hier ist die gleiche Funktionalität wie im obigen AppleScript. aber in JXA mit ES6.

#!/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);
}

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.