Mit dem CLI Utility »mdls«1) können Sie sich die Metadaten einer Datei oder eines Verzeichnis in einem »key=value« pair anzeigen lassen. Dazu gehören zB uA die Benutzer-ID, welchem das Objekt gehört »kMDItemFSOwnerUserID«, die Zeitstempel »kMDItemFSCreationDate«, »kMDItemLastUsedDate« und »kMDItemFSContentChangeDate« und der Dateityp »kMDItemKind«. Bei Bildern die Auflösung und Pixelgröße »kMDItemPixelHeight«, »kMDItemPixelWidth«, »kMDItemResolutionHeightDPI« und »kMDItemResolutionWidthDPI«. Bei MP3-Dateien, die Bitrate »kMDItemTotalBitRate« oder sogar das Genre »kMDItemMusicalGenre« oder die Länge in Sekunden »kMDItemDurationSeconds«.
Welche Eigenschaften in den Metadaten zu einer Datei gespeichert werden, hängt neben dem Dateityp auch von den auf Ihrem System installierten Spotlight-Importern ab. Wenn über die Importer neue Eigenschaften definiert wurden, die die Vorgabe von Apple ergänzen und erweitern, dann stehen Ihnen diese Eigenschaften auch zur Verfügung.
Fazit: Ein wahre Fundgrube für Informationen rund um Ihre Dateien und Verzeichnisse. Diese Liste kann hervorragen mit »awk«, -> »grep«, oder den Kommando Parametern »-name« bzw. »-raw« gefiltert werden und ggf in Shellskripten weiter verarbeitet werden:
Ein Beispiel:
$ mdls speedtest.png
Die Ausgabe ohne Parameter und Filter zeigt alle Metadaten, die zu einer Datei im Index von Spotlight vorhanden sind und präsentiert sich bei der Beispieldatei »speedtest.png« wie folgt:
kMDItemBitsPerSample = 40 kMDItemColorSpace = "RGB" kMDItemContentCreationDate = 2011-02-11 11:55:36 +0100 kMDItemContentModificationDate = 2011-02-11 11:55:36 +0100 kMDItemContentType = "public.png" kMDItemContentTypeTree = ( "public.png", "public.image", "public.data", "public.item", "public.content" ) kMDItemDisplayName = "speedtest.png" kMDItemFSContentChangeDate = 2011-02-11 11:55:36 +0100 kMDItemFSCreationDate = 2011-02-11 11:55:36 +0100 kMDItemFSCreatorCode = "" kMDItemFSFinderFlags = 0 kMDItemFSHasCustomIcon = 0 kMDItemFSInvisible = 0 kMDItemFSIsExtensionHidden = 0 kMDItemFSIsStationery = 0 kMDItemFSLabel = 0 kMDItemFSName = "speedtest.png" kMDItemFSNodeCount = 0 kMDItemFSOwnerGroupID = 20 kMDItemFSOwnerUserID = 501 kMDItemFSSize = 177564 kMDItemFSTypeCode = "" kMDItemHasAlphaChannel = 1 kMDItemIsScreenCapture = 1 kMDItemKind = "PNG-Bild (Portable Network Graphics)" kMDItemLastUsedDate = 2011-02-11 11:55:36 +0100 kMDItemOrientation = 0 kMDItemPixelHeight = 726 kMDItemPixelWidth = 1015 kMDItemProfileName = "S2402W" kMDItemResolutionHeightDPI = 72 kMDItemResolutionWidthDPI = 72 kMDItemScreenCaptureType = "window" kMDItemUsedDates = ( 2011-02-11 00:00:00 +0100 )
Mit dem Parameter »-name« kann gezielt ein Wert abgefragt werden:
$ mdls -name kMDItemFSCreationDate speedtest.png
kMDItemFSCreationDate = 2011-02-11 11:55:36 +0100
Diese Ausgabe mit dem Parameter »-raw« kombiniert gibt nur noch den Wert des abgefragten Attributs und ohne LF (Line Feed)2) angezeigt:
$ mdls -raw -name kMDItemFSCreationDate speedtest.png
2011-02-11 11:55:36 +0100
Die Attribute können mit dem »SetFile« Utility3) bearbeitet werden, welches Bestandteil des Developer Toolkit ist. Eine Beispiel für eine praktische Anwendung finden Sie im Artikel: -> Volume Symbole auf dem Schreibtisch ausblenden
Verwandte Artikel:
-> HFS+ und die erweiterten Attribute
-> Volume Symbole auf dem Schreibtisch ausblenden
-> PC kompatibles ZIP erstellen
-> Des Finders versteckte Dateien
-> Entfernen des com.apple.quarantine Attributs
-> CD ohne Metadaten erstellen
— pronto 2011/02/22 15:41