如何确定垃圾箱中当前文件的原始位置?


40

假设某些文件“ Any File.pdf”位于“废纸(”中(又名~/.Trash)。

如何确定其原始位置?

通过“原始位置”我的意思是哪里文件将被移动到文件夹,如果一个人申请“放回”命令把它(但没有真正这样做)?(请参见下图。)

(我曾希望可以通过在文件上运行“获取信息”来获得此信息,但我在那里找不到。)

放回去


3
如前所述这里(最后的评论)这个信息似乎是存储在垃圾文件夹中的文件.DS_Store
iolsmit


见soultion这里discussions.apple.com/thread/5767821?tstart=0 ,但它不工作,如果封闭文件夹已被删除!
Pacerier '17

Answers:


8

包含文件原始位置的数据在放入“ 废纸rash”之前保留在〜/ .Trash文件夹中的.DS_Store文件中。

由于垃圾箱文件夹是隐藏的,因此通常无法使用finder应用程序找到它。查找此文件的最简单方法是使用终端并输入以下命令。

$cd ~/.Trash
$open -e .DS_Store

这将在TextEdit中打开文件。从那里,您应该能够通过文件名和原始路径快速搜索文件。

.DS_Store中的文件似乎遵循以下模式:

FILE_NAME ptbLustr ORIGINAL_PATH_TO_FILE

注意添加空格只是为了提高可读性。


2
你真的测试过吗?.DS_Store包含很多二进制数据,我根本没有找到任何文件名。
nohillside

1
发布之前,我确实在自己的计算机上对此进行了测试。我在“废纸rash”及其原始位置中找到了对文件的引用。
戴维

1
嗯,似乎取决于语言设置,这里全都是Unicode。
nohillside

7
我相信此答案仅适用于10.4或10.5左右/之前的OS X,因为.DS_Store 现在是一个二进制文件,并且Apple并未对此进行记录
bmike

它在OS X 10.7.5中仍然可以在这里工作。
Dictionarics Anonymous

1

有关原始位置的信息存储在DS_Store文件中。在旧版的OS X中,它以纯文本格式存储,现在以二进制格式存储。Apple并未记录这些格式,但是Wim L创建了一个可以读取它的工具。

该工具是用Perl编写的,Mac::Finder::DSStore项目提供了用于读写.DS_StoremacOS生成的文件的例程。

根据最初的提交,以上工具基于Mark Mitrovai的工作加上作者自己的调查。

使用examples/dsstore_dump.pl将尝试以更易于理解的格式转储存储文件的记录。

用法示例:

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

    &makeEntries("foo.png",
        ptbL => "Users/username/Desktop/",
        ptbN => "foo.png"
    ),

请参阅:hhhh.org上的dsstore仓库GitHub上的旧仓库


0

http://ponderthebits.com/2017/01/mac-dumpster-diving-identification-deleted-file-references-in-the-trash-ds_store-files-part-中有大量的文章和一些更简单的解决方案1 /

包括此终端一线将.DS_Store文件转换为(大部分)文本:

xxd -p <path/to/.DS_Store> | sed 's/00//g' | tr -d '\n' | sed 's/\([0-9A-F]\{2\}\)/0x\1 /g' | xxd -r -p | strings | sed 's/ptb[LN]ustr//g'

与其复制一个先前的答案,不如您可以扩展命令以专门返回“放回”位置,这对于单独回答该问题会更有用?
grg

我正在“复制”我自己的答案,我在3个相关线程上发布了这些答案,这些线程没有提供对我有用的解决方案。只是想节省其他人一个小时的搜索工作。抱歉,如果我做错了。
丹·丹

我了解这一点,您并没有做错任何事情,只是认为将其定制为针对特定问题的更具体的内容可能会很有用。另外,通过在我之前的评论中提供链接,另一个问题现在显示在右侧的链接问题列表中,这可能对其他人有用。
grg

-3

“放回”文件,使用搜索功能搜索文件,找到文件后,右键单击它,然后选择“打开附件文件夹”


2
如果同一文件名在文件系统上出现多次,该怎么办?在这种情况下,这种方法将失败。更好地读取元数据OS X正在读取以确定“ Put Back”位置。
伊恩·C(

@IanC。,但是,由于dsstore是二进制文件,因此该hazytruth选项似乎是唯一的选项
Pacerier's

Fuzzytruth我的意思是……
Pacerier's
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.