Antworten:
Ich glaube nicht, dass es einen Weg gibt - die Spotlight-Indizes werden von Metadatenimporteuren generiert, die Dateien scannen und ihre Eigenschaften herausfinden. Wenn der betreffende Importeur eine Eigenschaft nicht erkennt, ist sie für Spotlight nicht vorhanden.
Jetzt ist es möglicherweise möglich, die tatsächliche Datei so zu ändern, dass dem Indexeintrag Eigenschaften hinzugefügt werden. Diese Seite behauptet, dass Sie erweiterte Attribute hinzufügen können, die mit "com.apple.metadata:" beginnen, und sie werden dem Spotlight-Eintrag für die Datei hinzugefügt, aber ich konnte sie nicht zum Laufen bringen. Das SpotMeta-Projekt erweitert das Importsystem um erweiterte Attribute zur Spotlight-Datenbank, funktioniert jedoch nur unter OS X 10.4. Keine wirkliche Lösung, aber so nah wie möglich ...
xattr -w com.apple.metadata:kMDItemFinderComment "commenthere" filename
, der als kMDItemFinderComment-Attribut indiziert wird.
Sie können jederzeit das Befehlszeilentool verwenden xattr
, das die erweiterten Attribute einer Datei im Dateisystem auflistet / liest / schreibt / löscht.
Das ist es, was Spotlight verwendet, um seinen Index zu erstellen.
Beachten Sie, dass den Spotlight-Informationstasten ein Präfix vorangestellt ist com.apple.metadata:
Als schnelles Beispiel, um den Anzeigenamen im Scheinwerferlicht einer Datei zu ändern:
xattr -w com.apple.metadata:kMDItemDisplayName MyNewFilename.txt ActualFile.txt
Um auf die xattr-Hilfe zuzugreifen, geben Sie Folgendes ein:
xattr -h
Hier ist eine Python-Funktion, mit der ich mithilfe der System-Shell Finder-Kommentare in eine Datei schreibe. Sie werden in Spotlight angezeigt, jedoch nicht im Feld "Informationen" ...
def writexattrs(F,TagList):
import subprocess
""" writexattrs(F,TagList):
Writes the list of tags to xattr field of file named F
"""
plistFront = '<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"><plist version="1.0"><array>'
plistEnd = '</array></plist>'
plistTagString = ''
for Tag in TagList:
plistTagString = plistTagString + '<string>{}</string>'.format(Tag)
TagText = plistFront + plistTagString + plistEnd
WhichAttribute = "com.apple.metadata:kMDItemFinderComment"
# Other attributes you might want to try: ["kOMUserTags","kMDItemOMUserTags","_kMDItemUserTags","kMDItemkeywords"]
XattrCommand = 'xattr -w {0} \'{1}\' "{2}"'.format(WhichAttribute,TagText.encode("utf8"),F)
# optional, print command format to check:
# print XattrCommand
ProcString = subprocess.check_output(XattrCommand, stderr=subprocess.STDOUT,shell=True)
return ProcString
Wenn Sie Apple Developer Tools installiert haben (normalerweise unter / Developer / Tools angezeigt ), haben Sie Zugriff auf die Befehle SetFile und GetFileInfo , die beide beim Bearbeiten von Metadaten von Dateien helfen.
Darüber hinaus habe ich eine Reihe von Befehlszeilenprogrammen namens osxutils gefunden , die sich bei zusätzlichen Anforderungen, die beim Schreiben Ihrer Skripte auftreten , als nützlich erweisen können.