iCal Artık Çalışma Komut Dosyası Yok mu?


12

Bir iCal olayı aracılığıyla bir gecede çalışacak şekilde planladığım AppleScripts şeklinde bazı otomatik görevlerim var. Olay sadece "olaydan 0 dakika önce" komut dosyasını çalıştır "olarak ayarlanır ve ben çalıştırmak için çeşitli komut dosyaları seçerdim.

Ancak Mountain Lion'a yükseltme yapıldığından beri, "run script" artık sadece "open file" dir ve scriptler çalışmaz, sadece AppleScript Editor'da açılırlar.

Bunun yerine açılacakları seçip seçemeyeceğimi görmek için komut dosyalarını uygulamalara derlemeyi denedim, ancak etkinlikten seçilemiyorlar (gri renkte).

  1. Takvim'in komut dosyalarımı çalıştırmasını nasıl sağlayabilirim?
  2. Buna karşılık, komut dosyalarını çalışacak şekilde zamanlamanın daha iyi bir yolu var mı?

Yanıtlar:


10

Sizin için birkaç sorunu çözebilecek işleri planlamakla ilgili bir soruya cevap yazdım . Bu, devam etmekle birlikte, çoğunlukla bir defaya mahsus bir zamandı.

Devam eden bir işiniz varsa, örneğin iCal aracılığıyla planlayacağınız bir launchdişiniz de iyi çalışır.

Ancak iCal / Takvim ile yaptığınız şeye benzer bir şeyin yerine geçilmesini istiyorsanız , Apple Tartışmalar panosundaki bu harika yazı, Automator'un 'Takvim Alarmı ' kullanımını açıklıyor gibi görünüyor . Bir kullanıcı, bu yeni yolun kullanımının daha kolay olduğunu bile söyledi. Şahsen Automator'un ekstra gücü ile düşünüyorum, aynı zamanda yeni güç katıyor.

Bu siteden:

İşte benim için çalışan bir çözüm:

  1. Automator'da bir Takvim Alarmı oluşturun
  2. Kütüphane bölmesinden Yardımcı Programlar'ı seçin
  3. AppleScript Çalıştır'ı seçin ve iş akışı alanına sürükleyin
  4. AppleScript'i kopyalayın / AppleScript'i Çalıştır kutusuna yapıştırın
  5. Yeni oluşturulan Takvim Alarmını kaydetme
  6. Calendar.app uygulamasını açın, yeni bir etkinlik oluşturun
  7. Referans takviminiz olarak Automator takvimini seçin
  8. Uyarı için Dosya Aç'ı seçin ve Automator'da oluşturduğunuz dosyayı seçin. Varsayılan olarak, iCal Dosya Aç'ı seçtiğinizde gelen dosyadır.
  9. Bunu, oluşturduğunuz Automator uygulamasının adıyla değiştirin.
  10. Dosya adı gösterilmiyorsa Diğer'i seçin.

resim açıklamasını buraya girin

Kullanıcı yazılarına bazı ekran görüntüleri de ekledi, ancak Automator'da seçilmesi gerekenlerin bir ekran görüntüsünü ekledim.


1
Harika görünüyor! Bu gece görevlerimle test edilecek, ama görkemli bir şekilde çalışacak gibi görünüyor. Belirtilen adımlar hakkında ilginç bir not, görünüşe göre bir güncelleme var (muhtemelen Mountain Lion için yeni, bilmiyorum). Automator'da "dosyayı" kaydederken, dosyayı bir yere dosya olarak kaydetme seçeneği yoktu. (Apple'ın dosya sisteminden uzaklaşmaya çalışması şüphesiz.) Sadece bir isimle kaydediyor ve hepsi bu. Kaydettikçe, Takvim otomatik olarak oluşturulan bir etkinlikle odaklanır. Sadece zamanı ayarlamak ve etkinlik için tekrarlamak zorunda kaldım.
David

4

Apple'ın Mac OS X 10.8, yani Mountain Lion'da iCal'den Takvim'e "Komut Dosyasını Çalıştır" işlevini devretmediği anlaşılıyor.

Uygulamaları Mac OS X üzerinde çalışacak şekilde çeşitli yollarla zamanlayabilirsiniz.

Yerleşik Zamanlama Araçları

Tercih edilen yerleşik zamanlama yöntemi, launchd (launch daemon) kullanmaktır. Kullanmak launchdiçin fırlatma işi biletleri oluşturun ve bunları ~/Library/LaunchAgents/klasörünüze yerleştirin.

cronMac OS X'te kullanılabilir, ancak artık önerilmemektedir. Ancak, ile temsil edilebilir daha birçok programları vardır crontarafından değil launchd.

Apple'ın fırlatma belgeleri başlamak için iyi bir yerdir.

Üçüncü Taraf Zamanlama Araçları

Bir grafik arayüz veya daha fazla işlevsellik istiyorsanız, üçüncü taraf uygulamaları vardır. Şirketim Power Manager geliştirdi ; diğer çözümler de mevcuttur.


Yeterli StartCalendarInterval sözlükleri ekleyerek launchd ile cron benzeri zamanlamaları temsil edebilirsiniz .
Lri

1
cron'un programlama dili inanılmaz ve son derece güçlü. Ne yazık ki, aynı gücü sağlayan her dakika numaralandırmadan ve test etmeden doğru bir şekilde tahmin etmek zordur. Bu, cronun artık önerilmemesinin bir sebebidir, oylama gerektirir; launchd, anketlere gerek kalmadan görevleri zamanlayabilir.
Graham Miln

0

jmlumpkin'in cevabı yerinde, ancak kendiniz için daha da kolaylaştırabilirsiniz. Bir blog gönderisinde açıkladığım gibi , komut dosyasını kopyalayıp oluşturduğunuz yeni iş akışına yapıştırmanız gerekmez. Orijinal AppleScript'i iş akışının içinden çağırabilirsiniz, bunun yerine:

on run {input, parameters}

    run script file "Macintosh HD:Some Directory On Disk:a cool script.applescript"

end run
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.