Estoy buscando una utilidad de línea de comandos (necesito para usarlo en una secuencia de comandos) que puede establecer el Foco de metadatos a los archivos.
Respuestas
¿Demasiados anuncios?Siempre se puede utilizar la herramienta de línea de comando xattr
, que enumera/lee/escribe/borra el sistema de ficheros de los atributos extendidos de un archivo.
Eso es lo que de foco se utiliza para construir el índice.
Tenga en cuenta que spotlight información de claves con el prefijo com.apple.metadata:
Como ejemplo rápido, cambiar el nombre para mostrar en el punto de mira de un archivo:
xattr -w com.apple.metadata:kMDItemDisplayName MyNewFilename.txt ActualFile.txt
para acceder a xattr ayuda, escriba en t:
xattr -h
Yo no creo que haya una manera de -- el centro de atención de los índices generados por los metadatos de los importadores de que el análisis de los archivos y la figura de sus propiedades. Si el importador no detectar algunos bienes, entonces como ahora como centro de atención está en cuestión no existe.
Ahora, podría ser posible cambiar el archivo real de tal manera como para añadir propiedades a su entrada en el índice. Esta página de reclamaciones usted puede agregar atributos extendidos comenzando con "com.apple.metadatos:" y se agregarán a la entrada spotlight para el archivo, pero no pude hacerlo funcionar. El SpotMeta proyecto se extiende el régimen de importación para agregar atributos extendidos para el centro de atención de base de datos, pero sólo funciona en OS X v10.4. No es una solución real, pero eso es lo más cerca que pude encontrar...
Aquí es una función que uso para escribir Buscador de Comentarios a un archivo. Se muestran en el centro de atención, pero no en el cuadro de Obtener Información...
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
Si usted tiene instalado Herramientas para Desarrolladores de Apple (aparece normalmente en /Developer/Herramientas), entonces usted tiene acceso a la SetFile y GetFileInfo comandos que ayudan en la manipulación de metadatos de los archivos.
Además, he encontrado un conjunto de utilidades de línea de comandos llamada osxutils que puede resultar útil con los requisitos adicionales que se presentan durante la escritura de sus guiones.