Etiquetar automáticamente carpetas / archivos colocados en una carpeta

2

Quiero poder asignar automáticamente una etiqueta roja a cualquier carpeta / archivo que se coloque en una carpeta que está en mi escritorio. He investigado sobre esto y parece que esto no se puede hacer incluso con Automator o Smart Folders, aunque parece bastante simple.

    
pregunta Alex Monterville 14.03.2017 - 21:22

1 respuesta

3

Opción 1: usar Hazel

Puede etiquetar automáticamente carpetas / archivos colocados en una carpeta utilizando el software comercial Hazel , que según su desarrollador Noodlesoft " mira las carpetas a las que le digas, organizando automáticamente tus archivos de acuerdo con las reglas que crees ".

Opción 2: uso de acciones de carpeta

Puede etiquetar automáticamente carpetas / archivos colocados en una carpeta utilizando < Em> Carpeta de acciones característica de macOS . Escribí el siguiente AppleScript basado en parte en uno de los Scripts de acción de carpeta predeterminados de Apple y en parte en un script incluido en a discusión en las comunidades de soporte de Apple . Probé este script en Mac OS X 10.6.8, 10.9.5 y 10.11.6 y funcionó en las tres versiones de macOS (pero vea la sección Advertencia importante a continuación).

property label_color : {none:0, orange:1, red:2, yellow:3, blue:4, purple:5, green:6, gray:7}
on adding folder items to this_folder after receiving these_items
    tell application "Finder"
        try
            repeat with i from 1 to number of items in these_items
                set this_item to item i of these_items
                set label index of this_item to red of label_color
            end repeat
        end try
    end tell
end adding folder items to

La primera línea del script, property label_color : {none:0, orange:1, red:2, yellow:3, blue:4, purple:5, green:6, gray:7} , no es realmente necesaria; Acabo de incluirlo para mostrar qué número de índice de etiqueta corresponde a cada color. Podría eliminar la primera línea y cambiar de red of label_color a 2 y el script tendría el mismo efecto.

Hay varias formas de adjuntar este AppleScript a una carpeta como Folder Action Script . Una forma es abrir Automator, crear una nueva Acción de carpeta , agregar una acción Ejecutar AppleScript y reemplazar el contenido de la acción Ejecutar AppleScript con esta secuencia de comandos, pero esto no funcionó en mi prueba. Otra forma, que funcionó en mi prueba, es guardar el script ya sea en /Library/Scripts/Folder Action Scripts/ (para uso de cualquier usuario) o en ~/Library/Scripts/Folder Action Scripts/ (para uso exclusivo del usuario actual), y luego realice los siguientes pasos:

  1. En el Finder, Control + clic (o clic derecho) en cualquier carpeta para mostrar el menú contextual.
  2. En el menú contextual, seleccione Configuración de acciones de carpeta (o Servicios y luego Configuración de acciones de carpeta ).
  3. Desde la ventana de solicitud, elija el nombre del script que acaba de guardar.
  4. Marque la opción Habilitar acciones de carpeta en la parte superior izquierda de la ventana Configuración de acciones de carpeta , si aún no está marcada.

Importante advertencia

Técnicamente, el script anterior solo establece el archivo label , que no es exactamente el mismo que un tag , como John Siracusa explicó en su Ars Technica revisión de la implementación de etiquetas en OS X 10.9 ; sin embargo, en el Finder en OS X 10.9 y versiones posteriores, el resultado del script anterior no se podrá distinguir de una etiqueta. El script anterior funciona en versiones de Mac OS X 10.6 o posterior.

Un Folder Action Script más robusto que establece una etiqueta roja y en lugar de solo una label (aunque, como dije, los resultados son indistinguibles en el Finder) se pueden encontrar en el AppleScript que se proporciona a continuación.

La secuencia de comandos proporcionada a continuación requiere que primero instale la herramienta tag de James Berry (que requiere OS X 10.9 o posterior). Se puede instalar fácilmente con el administrador de paquetes Homebrew ( brew install tag ) o MacPorts ( sudo port install tag ). Si lo instala con Homebrew, reemplace /opt/local/bin/tag (que es la ruta de MacPorts) con /usr/local/bin/tag (que es la ruta de Homebrew) en el script a continuación.

on adding folder items to this_folder after receiving these_items
    tell application "Finder"
        try
            repeat with i from 1 to number of items in these_items
                set this_item to item i of these_items
                do shell script "/opt/local/bin/tag --add Red " & quoted form of POSIX path of this_item
            end repeat
        end try
    end tell
end adding folder items to

Una tercera forma de escribir AppleScript (en OS X 10.9 y posterior) sería instalar un AppleScript / Objective -C La biblioteca escrita por Shane Stanley llamó FileTagsLib y luego reemplaza la línea do shell script en el script anterior con el comando apropiado como se describe en la documentación de FileTagsLib , pero no he probado esta tercera opción.

    
respondido por el Big Mac 17.04.2017 - 21:30

Lea otras preguntas en las etiquetas