如何判断垃圾箱中的项目来自哪里?

Arj*_*jan 16 mac finder trash macos

Mac OS X 10.6 垃圾箱显示一个选项“放回”安装 10.6 后被删除的文件。然而,它并不显示在那里的文件将被放回。

所以:使用 Finder,有什么办法可以判断一个被丢弃的物品来自哪里?

(我知道原始位置存储在 中 ~/.Trash/.DS_Store,所以如果我真的需要知道文件来自哪里,那么我可以使用类似hexdump.)

Ben*_*son 5

我看到了这个问题,很感兴趣。我最终基于这个函数编写了一个快速的 Foundation 工具,并将它封装在一个 AppleScript 应用程序中。

http://dl.getdropbox.com/u/896591/PathForTrashItem.zip

把它贴在你的工具栏中,它应该告诉你所选项目的路径。我不做任何承诺。:)

它不应该询问您的密码。如果是这样,那就有点奇怪了。如果您想查看 AppleScript 源代码,您仍然可以使用 AppleScript 编辑器打开该应用程序。

两个主要问题:

  • Finder 似乎会定期更新 .DS_Store 文件,因此对于您最近添加到废纸篓中的项目,它可能会失败。
  • 它一次只能处理一项。


ken*_*orb 3

您可以使用dsstore_dump.pl能够以人类可读格式读取存储文件记录的工具。

它是Wim LMac-Finder-DSStore用 perl 编写的项目的一部分,该项目提供了读取和写入OS X 生成的文件的例程。另请参阅:在 GitHub 和我的fork.DS_Storedsstore_dump.pl

使用示例:

$ perl dsstore_dump.pl ~/.Trash/.DS_Store

    &makeEntries("foo.png",
        ptbL => "Users/username/Desktop/",
        ptbN => "foo.png"
    ),
Run Code Online (Sandbox Code Playgroud)

自述文件中介绍了此工具的安装。

您还可以在终端中使用以下一行运行上述脚本:

perl <(curl -s https://raw.githubusercontent.com/kenorb/binfiles/master/dsstore_dump.pl) ~/.Trash/.DS_Store 
Run Code Online (Sandbox Code Playgroud)

相关:如何检查 .Trash 中的文件被删除的位置?