在 Automator 中通过 Applescript 选择排序列表中的文件

Selecting files in a sorted list via Applescript in Automator

我的文件夹中有一堆文件,我想定期删除其中最旧的 3 个文件。问题是我不能依赖这些文件的 "creation date" 或 "last modified date"(长话短说)。这些文件都具有相同的名称并附加了时间戳 -- xxxxx 2019-08-29-_01-37.sparsebundle

我已经创建了如图所示的 Automator 步骤 here.

现在在 "Sort Finder Items" 步骤之后,如何使用 Applescript select 并删除底部的 2 或 3 个文件?

如有任何帮助,我们将不胜感激。

要移动到回收站,或永久删除从Sort Finder Items action,添加一个 运行 Apple Script action 使用以下 示例 AppleScript code:

on run {input, parameters}
    try
        repeat with i in items -3 thru -1 of input
                # To move to Trash, use Finder.
            -- tell application "Finder" to delete alias (i as text)
                # To permanently delete, use System Events.
            -- tell application "System Events" to delete alias (i as text)
        end repeat
    end try
end run

删除tell application ...语句前面的--,您希望对其采取什么行动。

如果您只想处理 list 中的最后两个 ,则将 -3 更改为 -2repeat with i in items -3 thru -1 of input

请注意,此 示例 AppleScript code 中对我有用macOS High Sierra.


注意:示例 AppleScript 代码 就是这样,不包含任何附加内容错误 适当处理。用户有责任根据需要或需要添加任何 错误处理 。看看 try statement and error statement in the AppleScript Language Guide. See also, Working with Errors.