3 votos

Etiquetar automáticamente las carpetas/archivos depositados en una carpeta

Quiero ser capaz de asignar automáticamente una etiqueta roja a cualquier carpeta/archivo que se deje caer en una carpeta situada en mi escritorio. He investigado un poco sobre esto y parece que esto no se puede hacer realmente, incluso con Automator o carpetas inteligentes, a pesar de que parece bastante simple.

3voto

Saurabh Hirani Puntos 383

Opción 1: Usar Hazel

Puede etiquetar automáticamente las carpetas/archivos depositados en una carpeta mediante el software comercial Hazel , que según su desarrollador, Noodlesoft, "vigila las carpetas que le indiques, organizando automáticamente tus archivos según las reglas que crees".

Opción 2: Utilizar las acciones de las carpetas

Se pueden autoetiquetar las carpetas/archivos que se han colocado en una carpeta mediante la función Acciones de la carpeta característica de MacOS . Escribí el siguiente AppleScript basándome en parte en uno de los programas por defecto de Apple Carpeta Acción scripts y en parte en un script proporcionado en una discusión en las Comunidades de Soporte de Apple . He probado este script en Mac OS X 10.6.8, 10.9.5 y 10.11.6 y ha funcionado en las tres versiones de MacOS (pero vea el Advertencia importante sección más abajo).

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 necesario; sólo lo incluí para mostrar qué número de índice de etiqueta corresponde a cada color. Podría eliminar la primera línea y cambiar 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 Carpeta Acción script . Una forma es abrir Automator, crear un nuevo Carpeta Acción , añada un Ejecutar AppleScript y reemplazar el contenido de la acción Ejecutar AppleScript acción con este script-pero esto no funcionó en mi prueba. Otra forma, que funcionó en mi prueba, es guardar el script en cualquiera de los dos casos /Library/Scripts/Folder Action Scripts/ (para uso de cualquier usuario) o en ~/Library/Scripts/Folder Action Scripts/ (sólo para uso del usuario actual), y luego haga los siguientes pasos:

  1. En el Finder, Control Haz +clic (o clic derecho) en cualquier carpeta para mostrar el menú contextual.
  2. En el menú contextual, seleccione Configuración de las acciones de la carpeta (o Servicios y luego Configuración de las acciones de la carpeta ).
  3. En la ventana de consulta, elija el nombre del script que acaba de guardar.
  4. Compruebe el Activar las acciones de las carpetas en la parte superior izquierda del Configuración de las acciones de la carpeta si no está ya marcada.

Advertencia importante

Técnicamente, el anterior script sólo establece el archivo etiqueta que no es exactamente lo mismo que un etiqueta Como explicó John Siracusa en su Ars Technica revisión de la implementación de etiquetas en OS X 10.9 Sin embargo, en el Finder de OS X 10.9 y posteriores, el resultado del script anterior será indistinguible de una etiqueta. El anterior script funciona en versiones de Mac OS X 10.6 o posteriores.

Un sistema más robusto Carpeta Acción script que establece un rojo etiqueta y etiqueta en lugar de sólo un rojo etiqueta (aunque, como he dicho, los resultados son indistinguibles en el Finder) se puede encontrar en el AppleScript que se da a continuación.

El script que se ofrece a continuación requiere que se instale primero el programa de James Berry etiqueta (que requiere OS X 10.9 o posterior). Se puede instalar fácilmente con el gestor de paquetes Homebrew ( brew install tag ) o MacPorts ( sudo port install tag ). Si lo instalas con Homebrew, sustituye /opt/local/bin/tag (que es la ruta de MacPorts) con /usr/local/bin/tag (que es la ruta de Homebrew) en el script de abajo.

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 el AppleScript (en OS X 10.9 y posteriores) sería instalar una biblioteca AppleScript/Objective-C escrita por Shane Stanley llamada FileTagsLib y luego reemplazar el do shell script línea en el script anterior con el comando apropiado como se describe en el FileTagsLib documentación, pero no he probado esta tercera opción.

0 votos

En cualquiera de los dos script anteriores, añade una nueva línea justo antes de end repeat que dice move this_item to POSIX file "/Server Name/Path/To/Folder/" donde "/Server Name/Path/To/Folder/" es la ruta a "otra ubicación en un servidor" que usted menciona. En mi prueba, esta línea "mueve" carpetas/archivos en el mismo volumen pero "copia" carpetas/archivos entre volúmenes (igual que cuando arrastras carpetas/archivos en el Finder). No moverá ni copiará si hay un elemento en la carpeta de destino con el mismo nombre; tendrás que renombrar uno de los dos manualmente (se podría añadir más código para hacer el renombrado automáticamente).

0 votos

La ruta de acceso a un servidor será probablemente algo así como "/Volumes/Server Name/Path/To/Folder/" .

0 votos

Impresionante, ¡gracias! Esto funciona muy bien, excepto que, por desgracia, se copia entre los volúmenes. Pero no es un gran problema.

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