6 votos

Cambiar los metadatos de los archivos de la CLI que va a mostrar en el Finder

Buscador ha columnas se pueden ordenar los archivos por Nombre, Tamaño, Tipo, Fecha, Comentario, etc. Estos se muestran como los encabezados cuando Finder está en "la Lista", con sus respectivas propiedades del archivo se muestra a continuación.

  • Si me Cmd+I un archivo, y Comentarios sobre los cambios a los FOO, mdls muestra FOO y el Buscador muestra FOO.
  • Si he de poner Comentarios en el BAR de la Terminal, mdls muestra "BAR", pero Finder todavía muestra "FOO"!

¿Cómo puedo cambiar el campo "Comentario" de la Terminal, así que el cambio se propaga a Finder?

$ xattr -w com.apple.metadata:kMDItemFinderComment "BAR" test.txt
$ mdls test.txt
kMDItemFinderComment = "BAR"

Actualización: me he dado cuenta que cuando usando el Finder / AppleScript, Comentario se establece en un valor Binario de la Lista de propiedades que contiene el valor. Así que tal vez es posible evitar el AppleScript y aumentar el rendimiento?

<?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">
<string>My comment</string>
</plist>

He intentado editar la lista de propiedades y la alimentación de nuevo a xattr. Sin embargo, xattr da el mensaje de error Odd-length string incluso si el tamaño del archivo hex es de hecho un número par. Nadie?

xattr -p com.apple.metadata:kMDItemFinderComment a | xxd -r -p | plutil -convert xml1 -o plist -
nano plist
cat plist | plutil -convert binary1 -o - - | xxd -p -c 999 -u > hex
xattr -w -x com.apple.metadata:kMDItemFinderComment hex test.txt

2voto

hjdm Puntos 18

mdls utiliza la base de datos para mostrar información de archivo, no se extiende atributos que se establecen en el archivo. Así que con el fin de hacer que funcione, tienes que importar el archivo a su base de datos después de cambiar el xattr con:

mdimport /path/to/file

Para ver la actualización comentario en el Finder, puede utilizar AppleScript. Aquí está el código:

#!/bin/bash                                                                                                                                                                                                     

filepath="$1"
comment="$2"

/usr/bin/osascript -e "set filepath to POSIX file \"$filepath\"" \
-e "set theFile to filepath as alias" \
-e "tell application \"Finder\" to set the comment of theFile to \"$comment\""

Mejor versión de que el script se encuentra en StackOverflow por el usuario l'L'l.

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