Wenn ich xattr -l
Elemente in meinem Downloads-Ordner auswähle, wird ein Feld angezeigt, das ungefähr so aussieht:
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
Dies ist eine binäre Liste. Wenn ich mit HexFiend eine Datei mit diesen Bytes erstelle (ja, ich habe sie manuell eingegeben; sprengen Sie die Vergangenheit wie die Eingabe von Assembler-Code aus einem Magazin in mein Apple] [GS) und speichern Sie sie dann als .plist-Datei, die ich geöffnet habe die Datei in TextWrangler und erhielt die folgende nicht kompilierte 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>
Das heißt, während Apple die Daten in kompiliertem XML zu speichern scheint, scheint Klartext zu funktionieren.
Mit anderen Worten, wenn Sie das Änderungsdatum der Datei in Form einer Zeichenfolge abrufen können, können Sie den Befehl ausführen xattr -w com.apple.metadata:kMDItemDownloadedDate "2012-02-19 16:34:47 +0000" file
, um das "Download-Datum" zu ändern, bei dem es sich anscheinend um das Feld handelt, nach dem tatsächlich sortiert wurde, nicht um das tatsächliche hinzugefügte Datum.
Schließlich ist beim Hinzufügen des (nicht verwendeten) kMDItemDateAdded
Feldes kein Fehler aufgetreten, da, wie ich in diesem Artikel erfahren habe , xattr
das gewünschte, verwendete oder nicht verwendete Metadatenfeld problemlos festgelegt wird.
Das ist der Kern der Antwort. Ich werde daran arbeiten, ein AppleScript zu schreiben, um das Änderungsdatum für jede Datei zu ermitteln. Überprüfen Sie, ob das Datum kMDItemDownloadedDate
festgelegt ist. Wenn dies nicht der Fall ist, setzen Sie kMDItemDownloadedDate auf das Änderungsdatum, aber ich wollte den Kern der Antwort veröffentlichen.