如何使用applescript扫描文件夹中新添加的文件。
我正在尝试识别文件夹中的最新文件(图片格式),从之前的文件中进行检查。
答案 0 :(得分:0)
do shell script "ls -t ~/Pictures | head -n1"
将打印最新文件的基本名称。
这将打印完整路径:
find ~/Pictures -depth 1 -exec stat -f "%m %N" {} \; | sort -n | tail -n1 | sed 's/^[^ ]* //'
答案 1 :(得分: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
How to get the latest downloaded file name with applescript programatically?
答案 2 :(得分:0)
如果我理解你的问题,你需要一些脚本,当你运行它时,它会给你所有“新的”文件。 “新”意味着剧本以前没有见过它们。
因此,如果您在包含文件a.txt,b.txt和c.txt的目录上运行脚本,您将从脚本中获取所有这3个文件。然后在再次运行之前,添加文件d.txt和e.txt,然后运行脚本,你应该得到d.txt和e.txt。
为了实现这一目标,您需要在脚本运行之间存储一些信息。例如,您可以创建一个隐藏文件.lastFileISaw并在其中存储最后一个文件名或其时间戳。然后你的applescript cna检查这个文件,如果它不在那里,返回目录中的所有文件,如果它在那里只返回那些比隐藏文件的内容更新的文件。
我认为像Dropbox和SparkleShare这样的服务在OSX上使用DTrace来完成这些事情。