Ketika saya menjalankan xattr -l
item di folder Unduhan saya, saya mendapatkan bidang yang terlihat seperti ini:
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
Ini adalah plist biner. Ketika saya menggunakan HexFiend untuk membuat file dengan byte tersebut (ya, saya secara manual memasukkannya; hast dari masa lalu seperti memasukkan kode assembler dari majalah ke Apple saya] [GS), lalu simpan sebagai file .plist, saya membuka file di TextWrangler dan mendapat xml terkompilasi berikut:
<?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>
Yang mengatakan, sementara Apple tampaknya menyimpan tanggal dalam XML yang dikompilasi, teks biasa tampaknya berfungsi.
Dengan kata lain, jika Anda bisa mendapatkan tanggal modifikasi file dalam bentuk string, Anda dapat menjalankan perintah xattr -w com.apple.metadata:kMDItemDownloadedDate "2012-02-19 16:34:47 +0000" file
untuk mengubah "tanggal yang diunduh", yang tampaknya merupakan bidang yang benar-benar disortir, bukan Tanggal aktual yang ditambahkan.
Akhirnya Anda tidak mendapatkan kesalahan saat menambahkan bidang (tidak digunakan) kMDItemDateAdded
karena, seperti yang saya pelajari di artikel ini , xattr
akan dengan senang hati mengatur bidang metadata apa pun yang Anda inginkan, digunakan atau tidak digunakan.
Itulah inti dari jawabannya. Saya akan bekerja menulis AppleScript untuk mendapatkan tanggal yang dimodifikasi untuk setiap file, periksa untuk melihat apakah kMDItemDownloadedDate
sudah diatur, dan jika tidak, atur kMDItemDownloadedDate ke tanggal modifikasi, tetapi saya ingin mendapatkan inti dari jawaban yang diposting.