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.