ゴミ箱内のアイテムがどこから来たのかを知る方法は?


16

Mac OS X 10.6のごみ箱には、10.6のインストール後にゴミ箱に入れられたファイルの「戻る」オプションが表示されます。ただし、ファイルの保存は表示されません。

Finderを使用して、ゴミ箱に入れられたアイテムがどこから来たのかを知る方法はありますか?

(元の場所が格納され ~/.Trash/.DS_Storeていることがわかっているので、ファイルがどこから来たのかを本当に知る必要がある場合、のようなものを使用してそれを把握できhexdumpます。)


好奇心から:なぜそれが必要なのですか?どこにあるかがわかっている場合は、元に戻すことができます。そうでない場合は、ごみ箱からデスクトップにドラッグして、そこから好きな場所に移動します。
brandstaetter

1
たとえば、2つの異なるゴミ箱に入れられたドキュメント/フォルダの名前が同じで、復元するアイテムを見つけたい場合。または、誰かが誤っていくつかの設定ファイルを削除し、しばらくしてから、ゴミ箱でその不明なアイテムを見つけた場合。(もちろん、管理者パスワードを入力せずにシステムファイルを削除することはできません。)あるいは、奇妙なファイルを見つけただけで、どこで入手したのか非常に知りたい場合もあります。;
アルジャン

2つのドキュメントを区別するには、quicklookを使用できます。
brandstaetter 2009年

1
余談として:macosxhints.comの素晴らしいヒント:10.6:ごみ箱から誤って削除されたアイテムmacosxhints.com/article.php?story=20100121075428946
アルジャン

回答:


3

dsstore_dump.plストアファイルのレコードを人間が読める形式で読み取ることができるツールを使用できます。

それはの一部だMac-Finder-DSStoreことにより、Perlで書かれたプロジェクトヴィムL読み書きするためのルーチンを提供します.DS_Store。また、OS X.参照によって生成されたファイルをdsstore_dump.plGitHubので、私のフォーク

サンプル使用法:

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

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

このツールのインストールについては、READMEファイルで説明しています。

ターミナルで次のワンライナーを使用して上記のスクリプトを実行することもできます。

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

関連:.Trashのファイルが削除された場所を確認するにはどうすればよいですか?


これは、dsstoreが新しいバイナリ形式である新しいMacでも機能しますか?
パセリエ

@Pacerierはい、動作します。今、macOS Sierraでテストしました。
ケノーブ

涼しい。実際にダウンロードして使用するにはどうすればよいですか?
パセリエ

@Pacerierターミナルにコピー&ペーストできるワンライナーを含めました。
ケノーブ

@kenorbこれに感謝して、実行しようとしましたが、「@ INCでMac / Finder / DSStore / BuddyAllocator.pmが見つかりません」と表示され、READMEが見つからず、perlについて何も知りませんでした。[後で...] cpansearch.perl.org/src/WIML/Mac-Finder-DSStore-1.00/READMEで READMEを見つけました...しかし、私にはわかりません。
ダン

5

私はこの問題を見て、興味をそそられました。最終的にこの関数に基づいた簡単なFoundationツールを作成し、AppleScriptアプリケーションにラップしました。

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

ツールバーに貼り付けると、選択したアイテムのパスが表示されます。私は約束しません。:)

パスワードの入力は求められません。もしそうなら、何かがおかしい。AppleScriptソースを確認したい場合は、AppleScript Editorでアプリケーションを開くことができます。

2つの主な問題:

  • Finderは.DS_Storeファイルを定期的に更新するように見えるため、最近ゴミ箱に追加したアイテムでは失敗する場合があります。
  • 一度に処理できるアイテムは1つだけです。

それhexdumpは確かに勝ちます。:-)そして、そのcocoadev.com/index.pl?ParseDSStoreFilesも確かに興味深いようです。Google-Fuがひどく失敗しました!
アルジャン

それは本当に私が探していたものだったので、この(唯一の)答えを支持しました。ただし、スクリプト(または埋め込みtipathプログラム)が[ごみ箱]フォルダ内のどのファイルでも機能しないようです。
mgd

1
リンクが切れました。:(ガットGitHubの?
CEES Timmerman

@Benjamin、これはdsstoreが新しいバイナリ形式である新しいMacでもまだ機能しますか?
パセリエ

2

http://ponderthebits.com/2017/01/mac-dumpster-diving-identifying-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'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.