【问题标题】:how to repeat or loop an applescript如何重复或循环一个applescript
【发布时间】:2015-03-30 11:55:03
【问题描述】:

我正在寻找一个选项来为苹果邮件中的所有未读邮件着色,我发现了以下脚本

tell application "Mail"

set background color of (messages of inbox whose read status is false) to red --unread
set background color of (messages of inbox whose read status is true) to none --default read

end tell

我将此脚本添加到邮件规则中,该规则适用于每封邮件,然后它几乎可以完美运行。唯一的问题是它只能工作一次。因此,如果我收到一条新消息,脚本不会注意到它(所以它不是红色的,只有粗体),或者如果我阅读了一封电子邮件,那么它仍然是红色的。 请有人帮助我,脚本将循环运行,或者脚本将每秒运行一次。

仅供参考,我是 Windows 用户(mac 对我来说真的很新),我一直在寻找计划任务选项,但我没有在我的 mac 上找到这么简单的东西。

【问题讨论】:

    标签: email loops applescript repeat


    【解决方案1】:

    您有多种选择来运行计划任务。 Apple 建议使用“launchd”代理。只需谷歌“启动教程”即可获得许多示例。

    基础是这样...您创建一个 plist 文件(一个带有 .plist 文件扩展名的 xml 文本文件),其中包含您想要的任何说明,并将其放在文件夹 ~/Library/LaunchAgents 中。这些教程将向您展示如何创建许多不同类型的 plist 文件。将 plist 添加到该文件夹​​后,请注销/登录以使其生效。要禁用 plist fie 运行,然后将其从文件夹中删除并注销/登录。就这么简单。

    作为您特定请求的示例 plist,这个 plist 将每 60 秒运行一次您的 applescript...

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
    <dict>
        <key>Label</key>
        <string>com.myName.myProgramName</string>
        <key>ProgramArguments</key>
        <array>
            <string>osascript</string>
            <string>/path/to/applescript.scpt</string>
        </array>
        <key>StartInterval</key>
        <integer>60</integer>
    </dict>
    </plist>
    

    因此,在该 plist 示例中,您只需将值放在“com.myName.myProgramName”、“/path/to/applescript.scpt”和“60”中,即运行 applescript 的秒数。

    注意:您应该将 plist 文件命名为与“com.myName.myProgramName”相同的名称,并以“.plist”作为文件扩展名。

    祝你好运。

    【讨论】:

    • 嗨 regulus6633,感谢您的回答,但我无法让它工作。我使用“TextEdit”应用程序创建了 plist 文件,我希望这也可以吗?!我上传了我的脚本、我的 plist 文件和一个屏幕截图到 Dropbox - dropbox.com/s/6isbd0zap9r3iiu/3files.zip?dl=0 也许你会发现一些问题。在屏幕截图中,您可以看到我的脚本文件和 plist 文件所在的位置
    • 我查看了您的文件。 plist 文件很奇怪。我在顶部得到奇怪的字符,就像它是从 TextEdit 保存的富文本文件一样。您必须将其保存为纯文本文件而不是 RTF。因此,在保存之前查看“格式”菜单并选择“制作纯文本”。文件中的标签字符串也不应该有“.plist”。 Applescript 的路径也使用“~”。我不确定这是否有效。我会将其更改为“/users/username”。通过这些更改再试一次。
    • 非常感谢它现在可以使用。是的,我已经使用“TextEdit”应用程序创建了 plist 文件,但我已经在第一条评论中提到了这一点。感谢“制作纯文本”的提示我是一个全新的苹果用户,我不知道这些事情。
    • 我还有一个问题,直到昨天的实施,如果我启动我的 Macbook,苹果邮件应用程序将自动启动。有没有可能,苹果邮件不会自动启动?
    • 没有。 Mail 应用程序由您的 applescript 启动,因为 Mail 应用程序必须打开才能运行。也许“启动”命令会有所帮助,因为它会尝试在后台打开程序,而不是进入您的屏幕。因此,将“启动”放在您的第一行“设置背景颜色”代码行之上。您也可以在代码完成后退出 Mail,方法是在第二行后面加上“quit”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 2021-08-27
    • 1970-01-01
    • 2020-02-20
    • 2017-01-31
    相关资源
    最近更新 更多