Komut satırı üzerinden nasıl hatırlatıcı ekleyebilirim?


18

Arada sırada Reminders.app dosyasına komut satırından bazı hatırlatıcılar eklemek yararlı olabilir - özellikle de iCloud ile senkronize edildiğinden. Bunu yapmanın bir yolu var mı?

AppleScript'e dayanmayan bir çözüm tercih edilir : a) performans nedenleriyle (muhtemelen aptalca) ve b) AppleScript çözümleri genellikle bana beceriksiz veya aşırı derecede ayrıntılı gelir.


2
AppleScript'i neden kullanmamayı tercih ediyorsunuz?
Daniel

Yanıtlar:


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

Ayrıca, yalnızca boş bir Yeni Hatırlatıcılar Öğesi eylemiyle bir Otomatikleştirici iş akışı oluşturabilir ve ardından ile çalıştırabilirsiniz automator -i title test.workflow.

Ayrıca Mac OS X Hints'deki bu gönderiye bakın .


Cevabınız için teşekkür ederim. Ne yazık ki, bu bir kabuk komut dosyasında veya Komut Dosyası Düzenleyicisi'nde çalışmaz. Neyi kaçırıyorum?
myhd

1
#!/usr/bin/env bashİlk satır olarak ekleyin ve çalıştırın chmod +x /path/to/scriptveya çalıştırın bash /path/to/script.sh. Veya ilk ve son satırları kaldırın ve AppleScript Editor'ı kaydedin.
Lri

1
Automator hile yaptı! AppleScript çözümünün aksine, tam olarak istediğim şey olan Reminders.app uygulamasını başlatması gerekmez.
myhd

14

Komut satırı bağımsız değişkenleri ile başlığı, bitiş tarihini ve saati ayarlamanızı sağlayan başka bir sürüm.

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

Eğer bu komut dosyasını "hatırlat" olarak isimlendirip çalıştırma ayrıcalıklarını (chmod 755 hatırlat) verirseniz, bunu yapabilirsiniz:

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

Bu benim için çalışıyor, ancak nasıl alarm ekleyebilirim. Aslında pop-up pencereyi nasıl oluşturabilir ve hatırlatıcının tarih ve saatinde bana hatırlatabilir miyim? Olduğu gibi, bir hatırlatmam var, ancak bir bildirim almıyorum.
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
Merhaba teşekkürler! Bu yalnızca İngilizce'nin Kullanıcı Arabirimi dilinin bulunduğu Sistemlerde çalışır . Diğer dillerde, bir liste adları yerelleştirilir, örneğin "Hatırlatıcılar" Almanca "Erinnerungen" olur
myhd

Bu örnek aslında yukarıdaki "bitiş tarihi" yerine "tarihi hatırlat" ın kullanımını göstermektedir. Ve "tarihi hatırlat" tam olarak alarm / uyarı almak için kullanmak istediği şeydir.
Grrrr

2

Yukarıdaki AppleScript ile aynı işlevsellik; ancak ES6 ile JXA'da.

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

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.