¿Cómo puedo aplicar etiquetas en Mavericks de forma recursiva?


9

Ahora que Mavericks eliminó esa barra de color feo y la reemplazó con un lindo punto, me gustaría usar más etiquetas.

Básicamente tengo archivos de trabajo en diferentes lugares que se ocupan de diferentes proyectos y me gustaría aplicar la etiqueta para todos los archivos incluidos en carpetas específicas. Es posible que los archivos se muevan a nuevas carpetas (fuera de la carpeta original) en el futuro, por lo que me gustaría aplicar una etiqueta de forma recursiva a una carpeta para que pueda encontrarla más fácilmente si la sacan de su carpeta.

Respuestas:


7

Puede usar xattr para escribir varios metadatos relacionados con las etiquetas "nuevas" en Mavericks. John Siracusa hizo el trabajo pesado ya aquí .

Esencialmente, necesita escribir dos atributos, com.apple.FinderInfo y com.apple.metadata: _kMDItemUserTags, en los archivos. La forma más fácil será obtener un archivo etiquetado como desee y simplemente copiar los atributos de él. Abra la terminal y cambie al directorio que contiene la carpeta que desea etiquetar de forma recursiva. Luego ingrese:

touch sampleFile
open .

Eso abrirá Finder para que pueda etiquetar el archivo de muestra de la forma en que desea que se etiqueten todos los demás archivos. Una vez que haya terminado de etiquetar, vuelva a la ventana de su terminal e ingrese:

find yourDirName -type f | xargs xattr -wx com.apple.FinderInfo \
"`xattr -px sampleFile`"

find yourDirName -type f | xargs xattr -wx com.apple.metadata:_kMDItemUserTags \
"`xattr -px com.apple.metadata:_kMDItemUserTags sampleFile`"

Eso profundizará y etiquetará recursivamente todos los archivos en yourDirName , así como los archivos en cualquier subdirectorio. Puede dejar el argumento -type f desactivado si desea etiquetar los subdirectorios y los archivos.

Finalmente, puedes cambiar el

find yourDirName -type f

comandos para

find yourDirName -iname "*.ext"

si solo desea etiquetar ciertos tipos / extensiones de archivo.


Quiéralo. Leí la misma revisión de Ars y me preguntaba cómo podría adjuntar los metadatos necesarios a cada archivo.
Steve W.

10

Hay una herramienta de etiqueta CLI disponible a través de Macports / Homebrew: https://github.com/jdberry/tag

No parece tener una opción de recursión, sin embargo, me imagino que podría usar esto junto con el estándar 'encontrar' de UNIX.

por ejemplo, (desde dentro del directorio en el que desea etiquetar archivos)

find . -exec tag --add tagname {} \;  -print 

La versión actual (etiqueta v0.8.1) admite el etiquetado recursivo usandotag -e -d --add tagname path
Munkymorgy

3

Una manera simple de hacer esto es usar una búsqueda de Spotlight para generar una lista de todos los archivos que le interesan. Un ejemplo de cómo hacer esto:

  • En Finder, navega hasta la parte superior de la estructura de carpetas que te interesa.
  • Escriba -kind:folderen el campo de búsqueda de Spotlight

    Esto buscará todos los archivos que no sean una carpeta (el -signo niega los resultados).

  • Asegúrese de restringir la búsqueda a la jerarquía de carpetas que le interesa haciendo clic en el nombre de la carpeta en los términos de búsqueda justo debajo del campo de búsqueda de Spotlight.

Ahora tendrá una lista en su ventana del Finder de todos los archivos dentro de esa jerarquía de carpetas. Ahora es trivial seleccionar todos los archivos y aplicar las etiquetas que desee de la manera habitual con Finder.

Use diferentes búsquedas de Spotlight para satisfacer sus necesidades.

Puede hacer que este proceso sea un poco más fácil haciendo que Spotlight busque siempre en la carpeta actual y no This Mac:

Finder -> Preferences -> Advanced -> When performing a search: Search the current folder


1

Vaya a la carpeta superior y busque '.' dentro de esa carpeta.

Seleccione todos los archivos y etiquételos.

Es posible que deba eliminar la etiqueta y luego volver a aplicarla.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.