我想让 Mac 上标准用户帐户的文档和桌面文件夹的内容每天(例如午夜)被删除。我该如何实现这一点?
答案1
~/图书馆/LaunchAgents/me.lri.clear.desktop.and.documents.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>me.lri.clear.desktop.and.documents</string>
<key>ProgramArguments</key>
<array>
<string>osascript</string>
<string>-e</string>
<string>say "lol"</string>
<!-- <string>tell application "Finder"
move items of desktop to trash
move items of (path to documents folder) to trash
end tell</string> -->
</array>
<key>StartInterval</key>
<integer>5</integer> <!-- every 5 seconds -->
<!-- <key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>23</integer>
<key>Minute</key>
<integer>0</integer>
</dict> -->
</dict>
</plist>
注销并重新登录后,或者运行后将加载代理launchctl load ~/Library/LaunchAgents/me.lri.clear.desktop_and.documents.plist
。
请参阅man launchctl
和man launchd.plist
以了解更多信息。
另一个选择是将类似这样的内容添加到你的 crontab 中:
0 0 0 * * osascript -e 'tell app "Finder"' -e 'move items of desktop to trash' -e 'move items of (path to documents folder) to trash' -e 'end'
(您可以将其另存为~/.crontab
,然后运行crontab ~/.crontab
)
答案2
它应该相当简单,计划任务调用 shell 脚本删除指定目录的内容
我没有 Mac,但我相信 Mac 带有兼容 BASH 的 shell。因此,如下所示:
#!/bin/bash
rm /path/to/directory1
rm /path/to/directory2
...etc...
我不确定 Mac shell 使用的是经典的 *nix 文件路径架构 (/blah/blah) 还是 Finder 使用的架构 (blah:blah);你可以研究一下。该rm
命令将无法删除子目录或其内容,如果你想这样做,请使用开关-r
。