Bagaimana cara menentukan lokasi asli file yang saat ini ada di Sampah?

40

Misalkan beberapa file "Any File.pdf" ada di Trash (alias ~/.Trash).

Bagaimana saya bisa menentukan lokasi aslinya?

Dengan "lokasi asli" maksud saya folder tempat file itu akan dipindahkan jika ada yang menerapkan perintah "Pasang Kembali" untuk itu (tetapi tanpa benar-benar melakukannya)? (Lihat gambar di bawah.)

(Saya berharap bahwa informasi ini akan tersedia melalui menjalankan "Dapatkan Info" pada file, tetapi saya tidak menemukannya di sana.)

Taruh kembali

kjo
sumber
3
Seperti disebutkan di sini (komentar terakhir) informasi ini tampaknya disimpan dalam file .DS_Store di folder-sampah
iolsmit
Lihat soultion di sini discussion.apple.com/thread/5767821?tstart=0 tetapi tidak berfungsi jika folder yang dilampirkan telah dihapus!
Pacerier

Jawaban:

8

Data yang berisi lokasi asli file sebelum ditempatkan di Sampah disimpan dalam file .DS_Store di folder ~ / .Trash .

Karena folder tempat sampah disembunyikan biasanya tidak dapat ditemukan menggunakan aplikasi finder. Cara termudah untuk menemukan file ini adalah dengan menggunakan Terminal dan memasukkan perintah berikut.

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

Ini akan membuka file di TextEdit. Dari sana Anda harus dapat dengan cepat mencari file dengan nama dan jalur aslinya.

Tampaknya file di .DS_Store mengikuti pola:

FILE_NAME ptbLustr ORIGINAL_PATH_TO_FILE

Ruang catatan ditambahkan hanya untuk keterbacaan.

David
sumber
2
Apakah Anda benar-benar mengujinya? .DS_Store berisi banyak data biner, saya tidak menemukan nama file sama sekali.
nohillside
1
Saya melakukan tes ini di komputer saya sendiri sebelum memposting. Saya menemukan referensi ke file di Sampah saya dan lokasi aslinya.
David
1
Ah, sepertinya tergantung pada pengaturan bahasa, itu semua Unicode di sini.
nohillside
7
Saya percaya jawaban ini hanya berfungsi untuk OS X sekitar / sebelum 10.4 atau 10.5 karena .DS_Store sekarang menjadi file biner dan tidak didokumentasikan oleh Apple .
bmike
Ini masih berfungsi di OS X 10.7.5.
Dictionarics Anonymous
1

Informasi tentang lokasi asli disimpan dalam file DS_Store . Dalam versi OS X yang lebih lama disimpan dalam teks biasa, dan sekarang dalam format biner. Format ini tidak didokumentasikan oleh Apple, namun, ada alat yang dibuat oleh Wim L yang dapat membacanya.

Alat ini ditulis dalam Perl, Mac::Finder::DSStoreproyek menyediakan rutinitas untuk membaca dan menulis .DS_Storefile yang dihasilkan oleh macOS.

Sesuai komit awal , alat di atas didasarkan pada karya Mark Mitrovai ditambah penyelidikan sendiri oleh penulis.

Menggunakan examples/dsstore_dump.plakan berusaha untuk membuang catatan file toko dalam format yang lebih dapat dibaca manusia.

Contoh penggunaan:

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

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

Lihat: dsstore repo di hhhh.org dan repo yang lebih lama di GitHub .

kenorb
sumber
0

Ada penulisan yang bagus dan beberapa solusi mudah diposting di http://ponderthebits.com/2017/01/mac-dumpster-diving-identifying-deleted-file-references-in-the-trash-ds_store-files-part- 1 /

Termasuk Terminal satu baris ini untuk mengonversi .DS_Storefile ke (kebanyakan) teks:

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
sumber
Daripada menduplikasi jawaban sebelumnya , mungkin Anda dapat memperluas perintah untuk secara khusus mengembalikan lokasi Put Back, yang akan lebih berguna untuk pertanyaan ini secara individual?
grg
Saya "menduplikasi" jawaban saya sendiri, yang saya posting di 3 utas yang relevan yang tidak memberikan solusi yang bekerja untuk saya. Hanya berusaha menyelamatkan orang lain, jam mencari yang harus kulakukan. Maaf jika saya melakukan kesalahan ini.
Dan
Saya mengerti itu dan Anda tidak melakukan kesalahan, hanya berpikir mungkin berguna untuk menyesuaikan ini dengan sesuatu yang lebih spesifik untuk pertanyaan tertentu. Juga, dengan memberikan tautan dalam komentar saya sebelumnya, pertanyaan lain sekarang muncul di daftar pertanyaan terkait di sebelah kanan yang mungkin berguna bagi orang lain.
grg
-3

'Pasang Kembali' File, Gunakan fungsi pencarian untuk mencari file, Ketika Anda menemukan file Anda, Klik kanan dan pilih "Open Enclosing Folder"


sumber
2
Bagaimana jika nama file yang sama muncul lebih dari satu kali pada sistem file? Pendekatan ini akan gagal untuk kasus itu. Lebih baik membaca meta data yang dibaca OS X untuk menentukan lokasi 'Put Back' di tempat pertama.
Ian C.
@IanC., Tapi opsi hazytruth ini tampaknya menjadi satu-satunya pilihan sekarang bahwa dsstore adalah biner
Pacerier
Fuzzytruth yang saya maksud ...
Pacerier