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


3
Jak wspomniano tutaj (ostatni komentarz), ta informacja wydaje się być przechowywana w pliku .DS_Store w folderze kosza
— iolsmit


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.


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 .


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'

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”


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.