Jak ustalić oryginalną lokalizację pliku, który obecnie znajduje się w Koszu?

40

Załóżmy, że jakiś plik „Any File.pdf” znajduje się w Koszu (alias ~/.Trash).

Jak mogę określić jego pierwotną lokalizację?

Przez „oryginalnej lokalizacji” To znaczy, że folder, w którym plik zostanie przeniesiony do , jeśli jeden z nich zastosować polecenie „przesunięty” do niego (ale bez faktycznie tak robi)? (Patrz rysunek poniżej.)

(Miałem nadzieję, że te informacje będą dostępne po uruchomieniu polecenia „Pobierz informacje” w pliku, ale tam go nie znalazłem).

Położyć z powrotem

kjo
źródło
3
Jak wspomniano tutaj (ostatni komentarz), ta informacja wydaje się być przechowywana w pliku .DS_Store w folderze kosza
iolsmit
7
Powiązane: superuser.com/questions/59376/…
Ian C.
Zobacz soultion tutaj dyskusji.apple.com/pl/thread/5767821?tstart=0, ale to nie działa, jeśli
Pacerier

Odpowiedzi:

8

Dane zawierające pierwotną lokalizację pliku przed umieszczeniem w Koszu są przechowywane w pliku .DS_Store w folderze ~ / .Trash .

Ponieważ folder Kosz jest ukryty, zwykle nie można go znaleźć za pomocą aplikacji Finder. Najłatwiejszym sposobem na znalezienie tego pliku jest użycie terminala i wprowadzenie następujących poleceń.

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

Spowoduje to otwarcie pliku w TextEdit. Stamtąd powinieneś być w stanie szybko wyszukać plik według jego nazwy i oryginalnej ścieżki.

Wygląda na to, że pliki w .DS_Store mają wzór:

FILE_NAME ptbLustr ORIGINAL_PATH_TO_FILE

Spacje do notatek są dodawane tylko dla czytelności.

David
źródło
2
Czy faktycznie to przetestowałeś? .DS_Store zawiera dużo danych binarnych, w ogóle nie znalazłem żadnych nazw plików.
nohillside
1
Testowałem to na własnym komputerze przed wysłaniem. Znalazłem odniesienia do plików w moim Koszu i ich oryginalnych lokalizacjach.
David
1
Ach, wygląda na to, że zależy od ustawień języka, tutaj wszystko jest Unicode.
nohillside
7
Uważam, że ta odpowiedź działa tylko w systemie OS X około 10.4 lub 10.5, ponieważ .DS_Store jest teraz plikiem binarnym i nieudokumentowanym przez Apple .
bmike
Nadal działa tutaj w OS X 10.7.5.
Anonimowi Dictionarics
1

Informacje o oryginalnej lokalizacji są przechowywane w pliku DS_Store . W starszej wersji OS X był przechowywany jako zwykły tekst, a teraz w formacie binarnym. Te formaty nie są udokumentowane przez Apple, jednak istnieje narzędzie stworzone przez Wima L, które może je odczytać.

Narzędzie jest napisane w Perlu, Mac::Finder::DSStoreprojekt udostępnia procedury do odczytu i zapisu .DS_Storeplików generowanych przez macOS.

Zgodnie z początkowym zatwierdzeniem powyższe narzędzie jest oparte na pracy Marka Mitrovai oraz własnym dochodzeniu autora.

Użycie examples/dsstore_dump.plspowoduje zrzucenie rekordów pliku sklepu w formacie bardziej czytelnym dla człowieka.

Przykładowe użycie:

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

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

Zobacz: dsstore repo na hhhh.org i starsze repo na GitHub .

kenorb
źródło
0

Jest świetny napisać i kilka łatwiejszych rozwiązań opublikowanych na http://ponderthebits.com/2017/01/mac-dumpster-diving-identifying-deleted-file-references-in-the-trash-ds_store-files-part- 1 /

Łącznie z tym linijką Terminal do konwersji .DS_Storepliku na (głównie) tekst:

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'
Dan
źródło
Zamiast powielać wcześniejszą odpowiedź , być może mógłbyś rozwinąć polecenie, aby konkretnie zwrócić lokalizację Odłóż, co byłoby bardziej przydatne dla tego pytania indywidualnie?
grg
„Powielam” moją własną odpowiedź, którą zamieściłem w 3 odpowiednich wątkach, które nie dały mi rozwiązania, które działałoby dla mnie. Po prostu próbuję uratować innych ludzi na godzinę poszukiwań, którą musiałem zrobić. Przepraszam, jeśli robię to źle.
Dan
Rozumiem to i nie robisz nic złego, po prostu pomyślałem, że może być przydatne dostosowanie tego do czegoś bardziej konkretnego dla konkretnego pytania. Ponadto, podając link w poprzednim komentarzu, drugie pytanie pojawia się teraz na liście powiązanych pytań po prawej stronie, co może być przydatne dla innych.
grg
-3

„Odłóż” plik, użyj funkcji wyszukiwania, aby wyszukać plik. Po znalezieniu pliku kliknij go prawym przyciskiem myszy i wybierz „Otwórz załączający folder”


źródło
2
Co się stanie, jeśli ta sama nazwa pliku pojawi się więcej niż jeden raz w systemie plików? Takie podejście nie powiedzie się w tym przypadku. Lepiej czytać metadane OS X czyta, aby w pierwszej kolejności określić lokalizację „Odłóż”.
Ian C.
@IanC., Ale ta opcja mglistej prawdy wydaje się być jedyną opcją teraz, gdy dsstore jest binarny
Pacerier
Fuzzytruth mam na myśli ...
Pacerier