Come determinare la posizione originale del file che è attualmente nel Cestino?


40

Supponiamo che un file "Any File.pdf" sia nel Cestino (aka ~/.Trash).

Come posso determinare la sua posizione originale?

Per "posizione originale" intendo la cartella in cui il file verrebbe spostato se si applicasse il comando "Ripristina" (ma senza farlo effettivamente)? (Vedi figura sotto.)

(Speravo che queste informazioni fossero disponibili eseguendo "Ottieni informazioni" sul file, ma non le ho trovate lì.)

Rimettere a posto


3
Come menzionato qui (ultimo commento), queste informazioni sembrano essere memorizzate nel file .DS_Store nella cartella cestino
iolsmit


Vedi soultion qui discussioni.apple.com/thread/5767821?tstart=0 ma non funziona se la cartella allegata è stata eliminata!
Pacerier,

Risposte:


8

I dati che contengono la posizione originale di un file prima di essere inseriti nel Cestino vengono conservati nel file .DS_Store nella cartella ~ / .Trash .

Poiché la cartella cestino è nascosta, normalmente non è possibile trovarla utilizzando l'applicazione finder. Il modo più semplice per trovare questo file è utilizzare il Terminale e immettere i seguenti comandi.

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

Questo aprirà il file in TextEdit. Da lì dovresti essere in grado di cercare rapidamente il file per nome e percorso originale.

Sembra che i file in .DS_Store seguano il modello di:

FILE_NAME ptbLustr ORIGINAL_PATH_TO_FILE

Gli spazi delle note vengono aggiunti solo per leggibilità.


2
L'hai provato? .DS_Store contiene molti dati binari, non ho trovato nessun nome di file.
Nohillside

1
Ho provato questo sul mio computer prima di pubblicare. Ho trovato riferimenti ai file nel mio Cestino e alle loro posizioni originali.
David,

1
Ah, sembra dipendere dalle impostazioni della lingua, qui è tutto Unicode.
Nohillside

7
Credo che questa risposta funzioni solo per OS X intorno / prima della 10.4 o 10.5 poiché .DS_Store è ora un file binario e non documentato da Apple .
bmike

Funziona ancora qui in OS X 10.7.5.
Dictionarics Anonymous

1

Le informazioni sulla posizione originale sono archiviate nel file DS_Store . Nella versione precedente di OS X era archiviato in testo normale e ora in formato binario. Questi formati non sono documentati da Apple, tuttavia esiste uno strumento creato da Wim L in grado di leggerlo.

Lo strumento è scritto in Perl, il Mac::Finder::DSStoreprogetto fornisce routine per la lettura e la scrittura dei .DS_Storefile generati da macOS.

Come da commit iniziale , lo strumento di cui sopra si basa sul lavoro di Mark Mitrovai più l'indagine dell'autore.

L'utilizzo examples/dsstore_dump.plproverebbe a scaricare i record di un file di archivio in un formato più leggibile dall'uomo.

Esempio di utilizzo:

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

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

Vedi: repository dsstore su hhhh.org e repository precedente su GitHub .


0

C'è un ottimo scritto e alcune soluzioni più facili pubblicate su http://ponderthebits.com/2017/01/mac-dumpster-diving-identifying-deleted-file-references-in-the-trash-ds_store-files-part- 1 /

Incluso questo terminale one-liner per convertire un .DS_Storefile in (principalmente) testo:

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'

Invece di duplicare una risposta precedente , forse potresti espandere il comando per restituire in modo specifico la posizione Riprendi, che sarebbe più utile per questa domanda individualmente?
grg

Sto "duplicando" la mia risposta, che ho pubblicato su 3 thread pertinenti che non hanno fornito alcuna soluzione che funzionasse per me. Stavo solo cercando di salvare agli altri l'ora della ricerca. Scusa se sto sbagliando.
Dan,

Lo capisco e non hai fatto nulla di male, ho solo pensato che potesse essere utile adattare questo a qualcosa di più specifico per la domanda particolare. Inoltre, fornendo il link nel mio commento precedente, l'altra domanda ora mostra nell'elenco delle domande collegate sulla destra che potrebbe essere utile per gli altri.
grg

-3

"Ripristina" il file, utilizza la funzione di ricerca per cercare il file. Quando trovi il file, fai clic con il pulsante destro del mouse e seleziona "Apri cartella inclusa"


2
Cosa succede se lo stesso nome file appare più di una volta sul file system? Questo approccio fallirà in tal caso. Meglio leggere i metadati che OS X sta leggendo per determinare la posizione 'Riprendi' in primo luogo.
Ian C.

@IanC., Ma questa opzione di hazytruth sembra essere l'unica opzione ora che dsstore è binario
Pacerier

Fuzzytruth intendo ...
Pacerier,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.