जब मैं xattr -l
अपने डाउनलोड फ़ोल्डर में आइटम पर चलता हूं, तो मुझे एक फ़ील्ड मिलता है जो कुछ इस तरह दिखता है:
com.apple.metadata:kMDItemDownloadedDate:
00000000 62 70 6C 69 73 74 30 30 A1 01 33 41 B4 83 4D BF |bplist00..3A..M.|
00000010 4C 4F E3 08 0A 00 00 00 00 00 00 01 01 00 00 00 |LO..............|
00000020 00 00 00 00 02 00 00 00 00 00 00 00 00 00 00 00 |................|
00000030 00 00 00 00 13 |.....|
00000035
यह एक बाइनरी प्लिस्ट है। जब मैं उन बाइट्स के साथ एक फ़ाइल बनाने के लिए HexFiend का उपयोग करता हूं (हां, मैंने मैन्युअल रूप से उनमें प्रवेश किया था; अतीत से विस्फोट; जैसे कि मेरे Apple में एक पत्रिका से कोडांतरक कोड दर्ज करना] [GS], फिर इसे .plist फ़ाइल के रूप में सहेजें, मैंने खोला। TextWrangler में फ़ाइल और निम्नलिखित असम्पीडित xml मिला:
<?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>
<date>2011-11-28T05:03:59Z</date>
</array>
</plist>
कहा कि, जबकि Apple संकलित XML में दिनांक संग्रहीत करने के लिए लगता है, सादे पाठ काम करने लगता है।
दूसरे शब्दों में, यदि आप फ़ाइल को संशोधित तिथि स्ट्रिंग रूप में प्राप्त कर सकते हैं, तो आप xattr -w com.apple.metadata:kMDItemDownloadedDate "2012-02-19 16:34:47 +0000" file
"डाउनलोड की गई तारीख" को बदलने के लिए कमांड चला सकते हैं , जो ऐसा प्रतीत होता है कि यह क्षेत्र वास्तव में सॉर्ट किया गया है, वास्तविक दिनांक जोड़ा नहीं गया है।
अंत में (अप्रयुक्त) kMDItemDateAdded
फ़ील्ड को जोड़ने पर आपको कोई त्रुटि नहीं मिली , क्योंकि जैसा कि मैंने इस लेख में सीखा है , xattr
खुशी से आप जो भी मेटाडेटा फ़ील्ड चाहते हैं, उपयोग या अप्रयुक्त सेट करेंगे।
यही उत्तर का मूल है। मैं प्रत्येक फ़ाइल के लिए संशोधित तिथि प्राप्त करने के लिए एक AppleScript लिखने पर काम करूँगा, यह देखने के लिए जांचें कि kMDItemDownloadedDate
क्या सेट किया गया है, और यदि यह नहीं है, तो संशोधित तिथि को kMDItemDownloadedDate सेट करें, लेकिन मैं उत्तर का मूल प्राप्त करना चाहता था।