0

如何使用 applescript 扫描文件夹以查找新添加的文件。

我正在尝试识别文件夹中上次检查时的最新文件(图片格式)。

4

3 回答 3

0

do shell script "ls -t ~/Pictures | head -n1"将打印最新文件的基本名称。

这将打印完整路径:

find ~/Pictures -depth 1 -exec stat -f "%m %N" {} \; | sort -n | tail -n1 | sed 's/^[^ ]* //'
于 2012-10-20T08:34:59.783 回答
0

这是另一种方法。您可以将下载文件夹路径更改为目标文件夹的路径。

tell application "Finder"
    set latestFile to item 1 of (sort (get files of (path to downloads folder)) by creation date) as alias
    set fileName to latestFile's name
end tell

如何以编程方式使用applescript获取最新下载的文件名?

于 2012-10-20T14:09:02.570 回答
0

如果我正确理解了您的问题,您需要一些脚本,当您运行它时,它将为您提供所有“新”文件。其中“新”表示脚本以前没有见过它们。

因此,如果您在包含文件 a.txt、b.txt 和 c.txt 的目录上运行脚本,您将从脚本中获取所有 3 个文件。然后在再次运行之前,添加文件 d.txt 和 e.txt,然后运行脚本,你应该得到 d.txt 和 e.txt。

为了实现这一点,您需要在脚本运行之间存储一些信息。例如,您可以创建一个隐藏文件 .lastFileISaw 并在其中存储最后一个文件名或其时间戳。然后你的applescript cna检查这个文件,如果它不存在,则返回目录中的所有文件,如果存在则只返回那些比你的隐藏文件内容更新的文件。

我认为像 Dropbox 和 SparkleShare 这样的服务利用 OSX 上的 DTrace 来完成这些事情。

于 2012-11-06T03:48:41.920 回答