使用Applescript和Shell在终端上显示今天的事件

时间:2014-03-30 17:10:48

标签: shell calendar applescript

我正在寻找创建一个简单的CLI工具来查看今天的活动。最终我想扩展范围,但从简单开始。

我的目标:

echo "set today to (current date)

tell application \"Calendar\"
    tell calendar \"testemail@gmail.com\"
        set curr to every event whose start date is greater than or equal to today
    end tell
end tell" | osascript 

,这给出了输出:

event id A2794321-6987-4DE0-BC70-DD75FFD5D770 of calendar id 87CF6FE8-B408-4931-8734-FDCBD95857C5, event id A62028B5-9F20-49F0-8660-94A55DC3E2BF of calendar id 87CF6FE8-B408-4931-8734-FDCBD95857C5

我想知道我是否可以在扩展shell脚本以将事件输出到包含时间和描述的列表等方面获得一些帮助!

谢谢:)

2 个答案:

答案 0 :(得分:2)

如果您不需要查看重复发生的事件:

set d to current date
set hours of d to 0
set minutes of d to 0
set seconds of d to 0
set out to ""
tell application "Calendar" to tell calendar "Calendar Name"
    repeat with e in (events where start date > d - 1 and start date < d + 86400)
        set out to out & time string of (get start date of e) & " " & ¬
            time string of (get end date of e) & " " & ¬
            summary of e & linefeed
    end repeat
end tell

答案 1 :(得分:0)

获取有关事件(或任何AppleScript对象)的更多信息的一个好方法是询问它的属性。 之后,您将知道您需要哪些参数。这是为了描述。 另一件事是应用程序的字典,你可以从你的AppleScript编辑器访问:从这里你应该能够找到一种方法来获取你的列表。