Wie kann der ursprüngliche Speicherort einer Datei ermittelt werden, die sich derzeit im Papierkorb befindet?

Angenommen, eine Datei "Any File.pdf" befindet sich im Papierkorb (auch bekannt als ~/.Trash).

Wie kann ich seinen ursprünglichen Standort bestimmen?

Mit "ursprünglicher Speicherort" meine ich den Ordner, in den diese Datei verschoben würde, wenn man den Befehl "Zurücklegen" darauf anwenden würde (aber ohne dies tatsächlich zu tun)? (Siehe Abbildung unten.)

(Ich hatte gehofft, dass diese Informationen durch Ausführen von "Get Info" für die Datei verfügbar wären, aber ich habe sie dort nicht gefunden.)

Zurück geben

Wie hier (letzter Kommentar) erwähnt, scheinen diese Informationen in der .DS_Store-Datei im Papierkorbordner gespeichert zu sein
Siehe soultion hier Discussions.apple.com/thread/5767821?tstart=0 aber es funktioniert nicht, wenn der umschließende Ordner gelöscht wurde!

Antworten (4)

Daten, die den ursprünglichen Speicherort einer Datei enthalten, bevor sie in den Papierkorb verschoben werden, werden in der Datei .DS_Store im Ordner ~/.Trash aufbewahrt .

Da der Papierkorb versteckt ist, kann er normalerweise nicht mit der Finder-Anwendung gefunden werden. Am einfachsten finden Sie diese Datei, indem Sie das Terminal verwenden und die folgenden Befehle eingeben.

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

Dies öffnet die Datei in TextEdit. Von dort aus sollten Sie in der Lage sein, die Datei anhand ihres Namens und ihres ursprünglichen Pfads schnell zu suchen.

Es scheint, dass Dateien in .DS_Store dem folgenden Muster folgen:

FILE_NAME ptbLustr ORIGINAL_PATH_TO_FILE

Hinweis-Leerzeichen werden nur zur besseren Lesbarkeit hinzugefügt.

Hast du das eigentlich getestet? .DS_Store enthält viele Binärdaten, ich habe überhaupt keine Dateinamen gefunden.
Ich habe dies auf meiner eigenen Maschine getestet, bevor ich gepostet habe. Ich habe Verweise auf Dateien in meinem Papierkorb und ihre ursprünglichen Speicherorte gefunden.
Ah, scheint von den Spracheinstellungen abzuhängen, hier ist alles Unicode.
Ich glaube, diese Antwort funktioniert nur für OS X um/vor 10.4 oder 10.5, da .DS_Store jetzt eine Binärdatei ist und von Apple nicht dokumentiert wurde .
Es funktioniert hier immer noch in OS X 10.7.5.
funktioniert immer noch auf OSX 10.11.5. Es funktioniert, wenn ich es in TextEdit öffne, aber nicht in Sublime Text
Es ist eine Binärdatei, aber Sie können die darin gespeicherten Zeichenfolgen in den meisten Texteditoren immer noch sehen. Die Suche scheint jedoch nicht richtig zu funktionieren, wenn sie in TextEdit geöffnet wird. Ich kann dort alle meine Dateien sehen, aber wenn ich versuche, nach mehr als einem einzelnen Zeichen gleichzeitig zu suchen, gibt es 0 Ergebnisse zurück (obwohl, wenn ich nach diesen Zeichen einzeln suche, werden sie alle gefunden). Dies hängt wahrscheinlich von dem Editor ab, in dem es geöffnet wird, aber TextWrangler ist auf die gleiche Weise. Leider ist diese Methode ohne funktionierende Suche ziemlich schwierig zu verwenden.
@David, du wirst sicher sagen, was ptbLustr bedeutet?
@Elezar, Ja, das ist die Definition einer Binärdatei. Es gibt lesbare Textstrings in vielen Binärdateien. Wenn es nicht vollständig Unicode-lesbar ist, ist es binär.
@ Pacerier Ja, aber aus anderen Kommentaren scheint ziemlich klar zu sein, dass sich nicht jeder dieser Tatsache bewusst ist, also habe ich darauf hingewiesen.
Wenn ich diese Anweisungen unter macOS Catalina ausprobiere, erhalte ich die Fehlermeldung „Das Dokument „.DS_Store“ konnte nicht geöffnet werden. Du hast keine Erlaubnis.'
Wenn Sie die Fehlermeldung „Sie haben keine Berechtigung“ erhalten, vergewissern Sie sich, dass Terminal Zugriff auf das Dateisystem hat .

Es gibt eine großartige Beschreibung und einige einfachere Lösungen, die unter http://ponderthebits.com/2017/01/mac-dumpster-diving-identifying-deleted-file-references-in-the-trash-ds_store-files-part- veröffentlicht wurden. 1/

Einschließlich dieses Terminal-Einzeilers zum Konvertieren einer .DS_StoreDatei in (meistens) Text:

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'
Anstatt eine vorherige Antwort zu duplizieren , könnten Sie vielleicht den Befehl erweitern, um speziell den Ort Zurücksetzen zurückzugeben, was für diese Frage einzeln nützlicher wäre?
Ich "dupliziere" meine eigene Antwort, die ich in 3 relevanten Threads gepostet habe, die keine für mich funktionierende Lösung lieferten. Ich versuche nur, anderen Leuten die Stunde des Suchens zu ersparen, die ich machen musste. Tut mir leid, wenn ich das falsch mache.
Ich verstehe das und Sie haben nichts falsch gemacht, ich dachte nur, es könnte nützlich sein, dieses auf etwas Spezifischeres für die jeweilige Frage zuzuschneiden. Durch die Bereitstellung des Links in meinem vorherigen Kommentar wird die andere Frage jetzt in der Liste der verknüpften Fragen auf der rechten Seite angezeigt, was für andere nützlich sein könnte.
Ergebnis kaum befriedigend.

Die Informationen über den ursprünglichen Speicherort werden in der Datei DS_Store gespeichert. In älteren Versionen von OS X wurde es im Klartext gespeichert und jetzt im Binärformat. Diese Formate werden von Apple nicht dokumentiert, es gibt jedoch ein von Wim L erstelltes Tool, das sie lesen kann.

Das Tool ist in Perl geschrieben, Mac::Finder::DSStoreproject stellt Routinen zum Lesen und Schreiben der .DS_Storevom macOS generierten Dateien zur Verfügung.

Laut anfänglichem Commit basiert das obige Tool auf der Arbeit von Mark Mitrovai und den eigenen Untersuchungen des Autors.

Using examples/dsstore_dump.plwürde versuchen, die Datensätze einer Geschäftsdatei in einem besser lesbaren Format auszugeben.

Beispielnutzung:

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

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

Siehe: dsstore-Repo auf hhhh.org und älteres Repo auf GitHub .

Der Repo-Server hhhh.org gibt Internal Server Error zurück. Diese Antwort setzt ziemlich fortgeschrittene Programmierkenntnisse voraus und beinhaltet viele Schritte. Eine Schritt-für-Schritt-Anleitung wäre hilfreich.

„Legen Sie die Datei zurück“, verwenden Sie die Suchfunktion, um nach der Datei zu suchen, wenn Sie Ihre Datei gefunden haben, klicken Sie mit der rechten Maustaste darauf und wählen Sie „Umschließenden Ordner öffnen“

Was passiert, wenn derselbe Dateiname mehr als einmal im Dateisystem erscheint? Dieser Ansatz wird für diesen Fall fehlschlagen. Es ist besser, die Metadaten zu lesen, die OS X liest, um den „Put Back“-Speicherort überhaupt zu bestimmen.
@IanC., Aber diese Hazytruth-Option scheint jetzt die einzige Option zu sein, da dsstore binär ist
Fuzzytruth ich meine...
😂😂😂😂😂😂😂😂