Applescript根据文件日期复制较新的文件

时间:2012-10-18 03:55:30

标签: macos applescript

我没有看到这个具体的答案,特别是在基于日期复制文件(例如,不复制同一文件两次)和运行脚本时,例如,每小时一次。

而且,我是AppleScript的新手。因此,代码可能充满了错误。但是,你了解我的目标:

on idle
    Tell application "Finder"

    set a to folder ":Volumes:G_Drive Mini:source"
    set b to folder ":Volumes:MarkCapsule:destination"
    if dateOfFile > currentDate then
        move file of a to b
    end if
    return 3600

    end tell
end idle

我不知道if dateOfFile < currentDate then的工作原理。我想,其余的我可以搞清楚。

有人可以提供协助吗?

1 个答案:

答案 0 :(得分:0)

这可以通过两个包含日期的变量来完成。

该脚本复制创建日期在这两个日期之间的文件。

这两个日期之间的范围总是大约一个小时,但是当脚本第一次运行时没有范围,因为这些日期之间的差异只有几秒钟。

property a : "Volumes:G_Drive Mini:source" as alias
property b : "Volumes:MarkCapsule:destination" as alias
property lastCopy : current date

on idle
    set currDate to current date
    with timeout of 500 seconds
        tell application "Finder" to ¬
            move (files of a whose creation date < currDate and creation date ≥ lastCopy) to b
    end timeout
    copy currDate to lastCopy
    return 3600
end idle