จะกำหนดตำแหน่งดั้งเดิมของไฟล์ที่อยู่ในถังขยะได้อย่างไร?


40

สมมติว่าไฟล์ "Any File.pdf" บางไฟล์อยู่ในถังขยะ (aka ~/.Trash)

ฉันจะระบุตำแหน่งเดิมได้อย่างไร

โดย "ตำแหน่งเดิม" ฉันหมายถึงโฟลเดอร์ที่ไฟล์นั้นจะถูกย้ายไปที่ถ้ามีใครใช้คำสั่ง "Put Back" (แต่ไม่ต้องทำเช่นนั้น)? (ดูรูปด้านล่าง)

(ฉันหวังว่าข้อมูลนี้จะพร้อมใช้งานผ่านการเรียกใช้ "รับข้อมูล" ในไฟล์ แต่ฉันไม่พบข้อมูลดังกล่าว)

นำกลับมา


3
เป็นที่กล่าวถึงที่นี่ (ความคิดเห็นล่าสุด) ข้อมูลนี้ดูเหมือนว่าจะถูกเก็บไว้ในแฟ้ม .DS_Store ในถังขยะโฟลเดอร์
iolsmit

7
ที่เกี่ยวข้อง: superuser.com/questions/59376/…
Ian C.

ดูที่ soultion here Discussions.apple.com/thread/5767821?tstart=0 แต่จะไม่ทำงานหากโฟลเดอร์ที่ล้อมรอบถูกลบไปแล้ว!
Pacerier

คำตอบ:


8

ข้อมูลที่มีตำแหน่งดั้งเดิมของไฟล์ก่อนที่จะวางในถังขยะจะถูกเก็บไว้ในไฟล์. DS_Storeในโฟลเดอร์~ / .Trash

เนื่องจากโฟลเดอร์ถังขยะถูกซ่อนอยู่จึงไม่สามารถพบได้โดยทั่วไปด้วยแอปพลิเคชั่นค้นหา วิธีที่ง่ายที่สุดในการค้นหาไฟล์นี้คือการใช้ Terminal และป้อนคำสั่งต่อไปนี้

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

นี่จะเป็นการเปิดไฟล์ใน TextEdit จากตรงนั้นคุณควรสามารถค้นหาไฟล์ได้อย่างรวดเร็วด้วยชื่อและพา ธ ดั้งเดิม

ดูเหมือนว่าไฟล์ใน. DS_Store จะเป็นไปตามรูปแบบของ:

FILE_NAME ptbLustr ORIGINAL_PATH_TO_FILE

ช่องว่างหมายเหตุจะถูกเพิ่มเพื่อความสะดวกในการอ่าน


2
คุณได้ทดสอบสิ่งนั้นจริงหรือ .DS_Store มีข้อมูลไบนารีจำนวนมากฉันไม่พบชื่อไฟล์ใด ๆ เลย
nohillside

1
ฉันทดสอบสิ่งนี้ในเครื่องของตัวเองก่อนโพสต์ ฉันพบการอ้างอิงถึงไฟล์ในถังขยะและตำแหน่งดั้งเดิมของพวกเขา
David

1
อาดูเหมือนว่าจะขึ้นอยู่กับการตั้งค่าภาษามันเป็น Unicode ทั้งหมดที่นี่
nohillside

7
ผมเชื่อว่าคำตอบนี้จะทำงานเฉพาะสำหรับ OS X รอบ / ก่อน 10.4 หรือ 10.5 เป็น .DS_Store คือตอนนี้ไฟล์ไบนารีและไม่มีเอกสารโดยแอปเปิ้ล
bmike

มันยังทำงานได้ที่นี่ใน OS X 10.7.5
พจนานุกรม Dictionarics ไม่ระบุชื่อ

1

ข้อมูลเกี่ยวกับตำแหน่งเดิมจะถูกเก็บไว้ในไฟล์DS_Store ในOS Xเวอร์ชั่นเก่านั้นจะถูกเก็บไว้ในรูปแบบข้อความธรรมดาและตอนนี้อยู่ในรูปแบบไบนารี รูปแบบเหล่านี้ไม่ได้จัดทำเอกสารโดย Apple อย่างไรก็ตามมีเครื่องมือที่สร้างขึ้นโดยWim Lซึ่งสามารถอ่านได้

เครื่องมือนี้เขียนขึ้นใน Perl Mac::Finder::DSStoreโปรเจ็กต์จัดเตรียมรูทีนสำหรับการอ่านและการเขียน.DS_Storeไฟล์ที่สร้างโดย macOS

ตามความมุ่งมั่นเริ่มต้นเครื่องมือดังกล่าวอ้างอิงจากงานของ Mark Mitrovai รวมถึงการสืบสวนของผู้แต่งเอง

การใช้examples/dsstore_dump.plจะพยายามดัมพ์บันทึกของไฟล์เก็บในรูปแบบที่อ่านง่ายขึ้น

ตัวอย่างการใช้งาน:

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

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

ดู: repo dsstore ที่ hhhh.orgและrepo เก่าที่ GitHub


0

มีการเขียนที่ดีขึ้นและการแก้ปัญหาบางอย่างได้ง่ายขึ้นโพสต์ที่เป็นhttp://ponderthebits.com/2017/01/mac-dumpster-diving-identifying-deleted-file-references-in-the-trash-ds_store-files-part- 1 /

การรวมเทอร์มินัลหนึ่งซับไว้เพื่อแปลง.DS_Storeไฟล์ให้เป็นข้อความ (ส่วนใหญ่):

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'

แทนที่จะทำซ้ำคำตอบก่อนหน้านี้คุณอาจขยายคำสั่งเพื่อส่งคืนตำแหน่ง Put Back โดยเฉพาะซึ่งจะมีประโยชน์มากขึ้นสำหรับคำถามนี้ทีละรายการ?
grg

ฉัน "ทำซ้ำ" คำตอบของฉันเองซึ่งฉันโพสต์ใน 3 กระทู้ที่เกี่ยวข้องซึ่งไม่มีวิธีแก้ปัญหาที่เหมาะกับฉัน เพียงแค่พยายามช่วยชีวิตคนอื่นในเวลาที่ฉันต้องค้นหา ขออภัยถ้าฉันทำผิด
ด่าน

ฉันเข้าใจว่าและคุณไม่ได้ทำอะไรผิดเพียงแค่คิดว่ามันอาจมีประโยชน์ในการปรับแต่งสิ่งนี้ให้ตรงกับสิ่งที่เฉพาะเจาะจงมากขึ้นสำหรับคำถามเฉพาะ นอกจากนี้เมื่อระบุลิงก์ในความคิดเห็นก่อนหน้าของฉันตอนนี้คำถามอื่นจะแสดงในรายการคำถามที่เชื่อมโยงทางด้านขวาซึ่งอาจเป็นประโยชน์กับผู้อื่น
grg

-3

'ใส่กลับ' ไฟล์ใช้ฟังก์ชั่นการค้นหาเพื่อค้นหาไฟล์เมื่อคุณค้นหาไฟล์ของคุณคลิกขวาที่ไฟล์และเลือก "เปิดไฟล์แนบของโฟลเดอร์"


2
เกิดอะไรขึ้นถ้าชื่อไฟล์เดียวกันปรากฏมากกว่าหนึ่งครั้งในระบบไฟล์? วิธีการนี้จะล้มเหลวในกรณีนั้น ดีกว่าที่จะอ่าน meta data OS X กำลังอ่านเพื่อกำหนดตำแหน่ง 'ใส่กลับ' ในตำแหน่งแรก
Ian C.

@IanC. แต่ตัวเลือกนี้ดูเหมือนว่าจะเป็นตัวเลือกเดียวในขณะนี้ที่ dsstore เป็นไบนารี
Pacerier

Fuzzytruth ฉันหมายถึง ...
Pacerier
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.