8 votos

¿Cómo puedo establecer Foco de metadatos a los archivos?

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.

4voto

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

2voto

Nate Puntos 220

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...

1voto

beroe Puntos 1605

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

-1voto

Who Puntos 155

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.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X