แท็ก Finder ของ Mavericks จัดเก็บอย่างไร


13

ฉันยังไม่ได้ใช้ Mavericks
ตัวค้นหา finder จัดเก็บแท็กในไฟล์ของตัวเอง (เช่น: xmp) หรือใช้พลังงานจากฐานข้อมูลบางประเภทหรือไม่ หรืออะไร?


คุณอาจต้องการลองก่อนถามคำถามเกี่ยวกับ OS X Maverick
Ramhound

โปรดทราบว่าวิธีการของ Mavericks ในการติดแท็กภายในระบบไฟล์ไม่ได้ จำกัด อยู่ที่ Finder
เกรแฮมเพอร์ริน

คำตอบ:


12

Mavericks บันทึกแท็กเป็นแอตทริบิวต์เพิ่มเติม

ตอนนี้ที่จะถูกยกขึ้น NDA: Mavericks บันทึกแท็กเป็นแอตทริบิวต์ขยายcom.apple.metadata:_kMDItemUserTagsใน คุณสามารถตรวจสอบด้วยตนเองโดยใช้คำสั่งmdlsดังนี้:

mdls -name kMDItemUserTags Hello

บทวิจารณ์มหากาพย์ของ John Siracusa ของ OS X 10.9 อธิบายถึงสถาปัตยกรรมแท็กในรายละเอียดบางอย่าง


3
และเก็บคุณสมบัติเพิ่มเติมไว้อย่างไร?
occulus

1

แท็กถูกเก็บไว้ในแอ็ตทริบิวต์ส่วนขยายชื่อ com.apple.metadata: _kMDItemUserTags ค่าของมันคือรายการคุณสมบัติไบนารีที่มีอาร์เรย์ของสตริงเดียว:

$ xattr -p com.apple.metadata:_kMDItemUserTags file3|xxd -r -p|plutil -convert xml1 - -o -
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>Red
6</string>
    <string>aa</string>
    <string>Orange
7</string>
    <string>Yellow
5</string>
    <string>Green
2</string>
    <string>Blue
4</string>
    <string>Purple
3</string>
    <string>Gray
1</string>
</array>
</plist>

แท็กสำหรับสีมีค่าเช่นRed\n6(โดยที่\nเป็นตัวป้อนบรรทัด)

คุณสามารถใช้ xattr เพื่อคัดลอกแท็กจากไฟล์หนึ่งไปยังอีกไฟล์:

xattr -wx com.apple.metadata:_kMDItemUserTags "$(xattr -px com.apple.metadata:_kMDItemUserTags file1)" file2
xattr -wx com.apple.FinderInfo "$(xattr -px com.apple.FinderInfo file1)" file2

หากการตั้งค่าสถานะ kColor ใน com.apple.FinderInfo ไม่ได้ตั้งค่า Finder จะไม่แสดงวงกลมสำหรับสีถัดจากไฟล์ หากการตั้งค่าสถานะ kColor เป็นสีส้มและไฟล์มีแท็กสีแดง Finder จะแสดงทั้งวงกลมสีแดงและสีส้ม คุณสามารถตั้งค่าสถานะ kColor ด้วย AppleScript:

xattr -w com.apple.metadata:_kMDItemUserTags '("Red\n6","new tag")' ~/desktop/file4"
osascript -e 'tell application "Finder" to set label index of file "file4" of desktop to item 1 of {2, 1, 3, 6, 4, 5, 7}'

'("Red\n6","new tag")' เป็นไวยากรณ์ plist แบบเก่าสำหรับสิ่งนี้:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<array>
    <string>Red
6</string>
    <string>new tag</string>
</array>
</plist>

xattr -p com.apple.FinderInfo file|head -n1|cut -c28-29พิมพ์ค่าของบิตที่ใช้สำหรับการตั้งค่าสถานะ kColor สีแดงคือ C, สีส้มคือ E, สีเหลืองคือ A, สีเขียวคือ 4, สีฟ้าคือ 8, สีม่วงแดงคือ 6, และสีเทาคือ 2 ธงที่จะเพิ่ม 1 ในค่าที่ไม่ได้ใช้ใน OS X


1
ถ้าฉันสร้างแท็กชื่อ "การเงิน", สีแดง, ตัวอย่างเช่นแอททริบิวต์เสริมจะเก็บ "การเงิน" หรือ "แดง" ไว้หรือไม่? และการจับคู่ระหว่างชื่อกับสีทำได้อย่างไร?
Vaddadi Kartick

"ค่าสถานะที่จะเพิ่ม 1 ให้กับค่าไม่ได้ใช้ใน OS X" สิ่งนี้หมายความว่า?
Nicolas Barbulesco

คำตอบนี้มีรายละเอียด แต่ความแตกต่างระหว่างสีและแท็กยังไม่ชัดเจน
Nicolas Barbulesco

และเก็บแอททริบิวต์เสริมนี้อยู่ที่ไหน?
Nicolas Barbulesco

1

เท่าที่ฉันสามารถอ่านบนอินเทอร์เน็ตจากหลาย ๆ แหล่งมันเป็นไปได้มากว่า Mavericks จะเก็บข้อมูลแท็กเป็นสิ่งที่ใกล้เคียงกับกลยุทธ์ OpenMeta ในไฟล์ของตัวเอง จนถึงตอนนี้เรามีแท็กอยู่แล้วและเรามีแอพพลิเคชั่นมากมายที่ช่วยใน Leap / Yep เช่นนี้ แต่มันก็เป็นวิธีปฏิบัติที่ดีที่สุดที่รวมอยู่ในเลเยอร์ที่ต่ำกว่ามาตรฐาน -OpenMeta ตอนนี้ Mavericks ต้องการสร้างขั้นตอนเพิ่มเติมในการทำแท็ก (และวิธีที่พวกเขาควรจะเข้ารหัสในระบบไฟล์) อย่างเป็นทางการ แท็กเพิ่มเติมจะมีชุดสีคงที่ (7?) และสิ่งนี้อาจช่วยแยกแท็กเป็นชุดเพื่อให้มีความหมายเพิ่มเติมได้ พวกเราหลายคนคิดว่านี่อาจเป็นก้าวสำคัญในการมองเห็นระบบแฟ้มของผู้นำอุตสาหกรรมขนาดใหญ่เพื่อขับเคลื่อนทางเลือกในอนาคต (แอพพลิเคชั่นจะใช้งานมากกว่านี้ เพื่อรายละเอียด OpenMeta ต้องการให้ข้อมูลเมตาถูกอธิบายว่าเป็น xattr (คุณสมบัติเพิ่มเติม) ของไฟล์เพื่อให้เป็นสิ่งที่ระบบไฟล์ของตัวเองจะไม่สนใจเพราะอยู่นอกขอบเขต

คำถามนี้ค่อนข้างเก่าและ Mavericks กำลังจะกลายเป็น GM ในเร็ว ๆ นี้ .. ดังนั้นแม้ว่าข้อเท็จจริงที่ว่ามีเพียงข้อมูลที่เกี่ยวข้องกับโดเมนเบต้าเท่านั้น มีการอภิปรายหลายครั้งที่เกิดขึ้นบนอินเทอร์เน็ตเกี่ยวกับหัวข้อนี้และอีกประเด็นหนึ่งอยู่ที่นี่:

https://groups.google.com/d/msg/openmeta/DK4Of2QGkpM/KIK9VKaCQdkJ

ส่วนที่น่าสนใจที่สุดคือ:

แท็ก Apple ถูกนำไปใช้ในลักษณะเดียวกับที่แท็ก OpenMeta เป็น - เป็นคุณสมบัติเพิ่มเติมที่แนบมากับไฟล์ในระบบไฟล์ ข้อแตกต่างคือชื่อแอตทริบิวต์คือ _kMDItemUserTags แทนที่จะเป็น kMDItemOMUserTags ("OM" ในแท็กหลังใช้สำหรับ "OpenMeta") ข้อมูลแท็กสำหรับแท็ก Mavericks และแท็ก OpenMeta เป็นรายการคุณสมบัติ แต่ฉันไม่ได้ดูรูปแบบภายในของ plists ดังนั้นฉันไม่ทราบว่าพวกเขาเหมือนกันหรือไม่ ฉันยังไม่รู้ด้วยว่าถ้ามีที่เก็บข้อมูลสำรองหรือวิธีสำรองใช้สำหรับรูปแบบดิสก์ที่ไม่ใช่ HFS + - ฉันรู้ว่า hype ของ Apple บอกว่าคุณสามารถติดแท็กไฟล์บน iCloud ด้วยดังนั้นอาจมีปัญหาบางอย่าง

ความยาวและความสั้นของมันคืออย่างน้อยบนดิสก์ Mac ท้องถิ่นข้อมูลแท็ก OpenMeta จะต้องถูกย้ายไปยังแอตทริบิวต์ _kMDItemUserTags ใหม่เพื่อให้สามารถเห็นได้โดย Maverick ไม่ใช่เรื่องใหญ่ แต่มีคนต้องการเขียนโปรแกรมให้ทำ


1
แปลกgroups.google.com/d/msg/openmeta/DK4Of2QGkpM/KIK9VKaCQdkJเป็นลิงค์ที่ Google ได้รับสำหรับโพสต์ แต่ในบางครั้งลิงค์อาจไม่สามารถเปิดเผยโพสต์ที่ต้องการได้
เกรแฮมเพอร์ริน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.