如何在mac os x中查询最近的项目?

时间:2014-06-03 05:03:06

标签: macos api

据我所知,在Mac OS X系统中,操作系统会记录最近打开的项目(文件)列表(单击Apple图标,然后单击" Recent Items"。但我想获取此列表以便可以将其用于其他目的。是否可以使用API​​查询此类项目,或者是否已将其实际存储在本地文件中(如果是,位置在哪里)?

由于

2 个答案:

答案 0 :(得分:1)

它存储在:

/Users/username/Library/Preferences/com.apple.recentitems.plist

它是一个二进制属性列表文件,因此您可以在XCode中查看其内容,或在终端中使用/ usr / libexec / PlistBuddy,或使用属性列表API。

这是一个Bash脚本,它将按照alpha顺序转储所有最近的文档。

docCount=$(/usr/libexec/PlistBuddy -c "print RecentDocuments:MaxAmount" \
  ~/Library/Preferences/com.apple.recentitems.plist)
for (( i=0; i<docCount; i++ )); do
    /usr/libexec/PlistBuddy -c "print RecentDocuments:CustomListItems:$i:Name" \
      ~/Library/Preferences/com.apple.recentitems.plist
done | sort

答案 1 :(得分:1)

根据http://www.alfredforum.com/topic/8122-use-alfred-to-observe-contents-of-all-my-files/

,El Cap已发生变化
  

Pre-El Capitan,“〜/ Library / Preferences / com.apple.recentitems.plist”中有一个plist文件,其中包含您所追踪的数据。

     

在El Capitan中,您可以使用shell命令获取路径列表:

mdfind -onlyin $HOME '((kMDItemContentModificationDate > $time.now(-60m)) && (kMDItemContentModificationDate < $time.now()))' | grep -v /Library/
  

(这会排除“〜/ Library”中的文件。)