如何每隔一段时间运行我的苹果脚本



我制作了一个脚本,每天获取本地时间,然后通过桌面上的代码为我指定的文件夹制作别名。一开始,它会询问今天是什么日子(通过列表)。它不起作用,因为即使我使用 launchd 每 5 分钟运行一次,它也会要求我提供列表。有没有办法每天存储变量,然后让它全天完成其余的工作?

我实际上已经结合了AppleScript和Automator来使其正常运行,所以我需要使Automator运行而不是AppleScript。

我的 PLIST 代码

  <?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>RunAtLoad</key>  
        <true/>
        <key>KeepAlive</key>
        <true/>
        <key>Label</key>
        <string>wallpaper.restart</string>
        <key>ProgramArguments</key>
        <array>
                <string>PATH:TO:FILE</string> 
        </array>
        <key>StartCalendarInterval</key>
        <dict>
            <key>Hour</key>
            <integer>1</integer>
       </dict>
</dict>
</plist>

我将不胜感激任何指导我开始,或任何可以帮助我的东西。

谢谢

要以某种间隔运行脚本,您可以使用如下所示的 .plist...

<?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.mycompany.myScript</string>
    <key>Program</key>
    <string>/Applications/myScript/myScript.app/Contents/MacOS/applet</string>
    <key>LowPriorityIO</key>
    <true/>
    <key>Nice</key>
    <integer>1</integer>
  <key>StartInterval</key>
  <integer>600</integer>
</dict>
</plist>

将 600 更改为您希望它运行的任何秒数,例如每 5 分钟 300

要将数据写入 .plist 文件以便您可以随时访问它,您可以使用这样的东西......

do shell script "defaults write com.mycompany.myApp MyInfo '" & theInfo & "'"

然后阅读信息,您将使用这样的代码...

set myPref to do shell script "defaults read com.mycompany.myApp MyInfo"

最后,我不确定您是否需要一个"列表",您可以使用类似于此的脚本获取日期......

do shell script "date "+%Y-%m-%d""

我在此示例中选择的格式是 2016-06-01,但您可以通过更改 date 命令后的字符串将格式信息更改为所需的任何格式。有关详细信息,请参阅手册页以获取日期或查看此处。

最新更新