定期删除 Mac 文件夹中的文件

定期删除 Mac 文件夹中的文件

我想让 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 launchctlman 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

相关内容