Mac OS X เก็บความคิดเห็น Spotlight ที่เกี่ยวข้องกับไฟล์ไว้ที่ไหน มันถูกจัดเก็บเป็นเมตาดาต้าไฟล์ HFS + หรือเป็นข้อมูลที่เก็บไว้โดยระบบปฏิบัติการอื่น?
Mac OS X เก็บความคิดเห็น Spotlight ที่เกี่ยวข้องกับไฟล์ไว้ที่ไหน มันถูกจัดเก็บเป็นเมตาดาต้าไฟล์ HFS + หรือเป็นข้อมูลที่เก็บไว้โดยระบบปฏิบัติการอื่น?
คำตอบ:
ข้อมูลเมตาอยู่ภายในที่ซ่อนอยู่ .Spotlight-V100 โฟลเดอร์ที่รูทของปริมาณที่จัดทำดัชนี
ค่าของ kMDItemFinderComment แอตทริบิวต์ที่ได้รับการจัดเก็บไว้ในไดเรกทอรีที่เก็บข้อมูลเมตาเช่น /.Spotlight-V100/ ขึ้นอยู่กับ com.apple.metadata:kMDItemFinderComment คุณลักษณะเพิ่มเติม
Finder ยังเก็บความคิดเห็น Spotlight ของรายการทั้งหมดในโฟลเดอร์ใน .DS_Store ไฟล์.
คุณสามารถพิมพ์ความคิดเห็น Spotlight ด้วย mdls หรือ xattr:
mdls -n kMDItemFinderComment test.txt
xattr -p com.apple.metadata:kMDItemFinderComment file.txt | xxd -r -p | plutil -convert xml1 -o - - | ruby -rcgi -e 'puts CGI.unescapeHTML(STDIN.read.scan(/<string>(.*)<\/string>/m)[0][0])'
หากคุณใช้ Finder เพื่อเพิ่มความคิดเห็น Spotlight สำหรับไฟล์คุณไม่ได้รับอนุญาตให้เขียน (เช่นบางกลุ่มแอปพลิเคชัน /Applications/ ) ความคิดเห็นจะไม่ถูกบันทึกเป็นแอตทริบิวต์เพิ่มเติมและจะไม่ถูกหยิบขึ้นมาโดย Spotlight คุณสามารถเปิด Finder เป็น superuser หรือใช้ sudo xattr -w แม้
หากคุณลบ .DS_Store ไฟล์จากโฟลเดอร์และออกจากและเปิด Finder ความคิดเห็น Spotlight ของไฟล์ทั้งหมดในโฟลเดอร์หายไปจากหน้าต่างข้อมูลของ Finder's หากยังคงมีแอททริบิวต์เพิ่มเติมสำหรับความคิดเห็น Spotlight ความคิดเห็นนั้นจะเห็นได้จาก Spotlight
ถ้าคุณใช้ xattr เพื่อเพิ่ม com.apple.metadata:kMDItemFinderComment แอตทริบิวต์ขยายความคิดเห็นที่ถูกหยิบขึ้นมาโดย Spotligt แต่มันจะไม่ปรากฏในหน้าต่างข้อมูลของ Finder's
xattr -w com.apple.metadata:kMDItemFinderComment comment file.txt
หากคุณใช้ AppleScript เพื่อเปลี่ยน comment คุณลักษณะของไฟล์ความคิดเห็นจะถูกบันทึกใน .DS_Store ไฟล์และแสดงใน Finder
osascript -e 'on run {f, c}' -e 'tell app "Finder" to set comment of (POSIX file f as alias) to c' -e end file.txt comment
(มีคำเตือนเหมือน CFURLGetFSRef was passed this URL which has no scheme ใน 10.8 เมื่อเส้นทางสัมพัทธ์ถูกแปลงเป็นนามแฝง แต่คุณสามารถเพิกเฉยได้)
xattr -w com.apple.metadata:_kMDItemUserTags บางทีฉันควรเขียนสิ่งนี้เป็นคำถามของมันเอง ...
หากคุณพยายามที่จะแก้ไขความคิดเห็นที่น่าสนใจของไฟล์คุณสามารถดู / แก้ไขได้ภายใต้หน้าต่างรับข้อมูล (คำสั่ง + I) สำหรับไฟล์
fooและfoo/barใช้ Automator เพื่อตั้งค่าความคิดเห็น Spotlight baz บนfoo/bar. เปิด foo ใน Finder แล้วค้นหา baz ในนั้น. สิ่งนี้พบว่าfoo/bar. จากนั้นเปิด Terminal ให้ลบfoo/.DS_Store(ไม่มีfoo/bar/.DS_Store) เปิดตัว Finder อีกครั้ง เปิดfooใน Finder ให้ค้นหา baz : ยังคงพบfoo/bar.