没有纯粹的 AppleScript 解决方案来获取文件的最后访问日期。使用 shell 工具 stat 和 date 的组合,您可以构造一个提供上次打开日期的 AppleScript 辅助函数:
on LastOpenedDate(theFile)
set theStr to do shell script "date -r $(stat -f %a " & quoted form of (POSIX path of theFile) & ") +%Y-%m-%dT%H:%M:%S"
ISODateStrToDate(theStr)
end LastOpenedDate
该函数使用以下帮助函数将作为ISO 8601 格式化字符串返回的最后打开的时间戳转换为AppleScript 日期:
on ISODateStrToDate(theStr)
set dt to (current date)
set savedDelimeters to AppleScript's text item delimiters
set AppleScript's text item delimiters to {"-", "T", ":"}
set {dt's year, dt's month, dt's day, dt's hours, dt's minutes, dt's seconds} to (every text item of theStr)
set AppleScript's text item delimiters to savedDelimeters
return dt
end ISODateStrToDate
函数LastOpenedDate可以用alias、file或POSIX file作为参数调用,例如:
LastOpenedDate(POSIX file "/var/log/system.log")
返回
date "Saturday, August 27, 2011 4:04:52 PM"
在我的机器上。