Utilizadas para automatizar procesos, también son útiles como medida de seguridad ya que permiten saber cuando se ha añadido o modificado un archivo dentro de una carpeta sensible y poder así examinar ese archivo y determinar si está realizando una acción que pueda considerarse como maliciosa.
Activar las acciones de carpeta para una carpeta determinada es muy sencillo: solo has de hacer clic con el botón alternativo del ratón encima de ella para desplegar el menú contextual y entre las opciones de Servicios encontrarás la opción Configurar acciones de Carpeta. Los scripts para las Acciones de carpeta están almacenados en:
/Library/Scripts/Folder Action Scripts
Y es allí donde debes guardar tus Applescripts para luego asignarlos como acción de carpeta.
Al seleccionar esa opción te aparecerá un cuadro de diálogo con una serie de scripts que puedes ejecutar. Un ejemplo del uso de las acciones de carpeta es la protección de las carpetas LaunchAgents y LaunchDaemons de este artículo, aunque se pueden hacer muchas más cosas.
Vamos a ponernos con esas cosas.
Estructura de un script para acciones de carpeta
Para crear un script para una acción de carpeta necesitas primero establecer cual será el disparador y luego, el contenido del script, es decir, lo que va a ocurrir cuando se active ese disparador.
Por ejemplo, el disparador para una Alerta cuando se añade un archivo a una carpeta tiene la siguiente estructura:
on adding folder items to this_folder after receiving added_items try <código Applescript a ejecutar> end try end adding folder items to
Aunque hay otros muchos disparadores interesantes, como por ejemplo:
on closing folder window for this_folder try <código Applescript a ejecutar> end try end closing folder window for
Que nos permite disparar una Acción de carpeta cuando ésta carpeta se cierra en el Finder.
Otro ejemplo es cuando mueves una ventana, de forma que si defines unas coordenadas para esa carpeta por defecto, al moverla, siempre volverá a esa ubicación predeterminada.
on moving folder window for this_folder from original_coordinates <codigo Applescript a ejecutar> end moving folder window for
O por ejemplo cuando abres una carpeta, que siempre se abra en una ubicación, respetando el tamaño que le has especificado manualmente:
property posicion_ventana : {30, 55,} on opening folder this_folder tell application "Finder" activate set position of container window of this_folder to posicion_ventana end tell end opening folder
O cuando se elimina un archivo de una carpeta:
on removing folder items from this_folder after losing these_items <código Applescript a ejecutar> end removing folder items from
Enviando correos
Vamos a explorar un ejemplo del uso de las acciones de carpeta con el envío de correos electrónicos, en un ejemplo en el que recibirás un correo electrónico cuando se actualice una carpeta determinada. Esto puede ser útil, por ejemplo, si quieres recibir una notificación desde el Mac cuando se ha actualizado una carpeta de un servicio de archivos en la nube para confirmar que ese archivo que has añadido se ha sincronizado de forma remota en tu Mac.
Básicamente vamos a usar una versión de la acción de carpeta que se utiliza cuando añades nuevos elementos a una carpeta.
on adding folder items to this_folder after receiving added_items try set recipientName to "Tu nombre" set recipientAddress to "micorreo@correo.com" -- correo de recepción set theSubject to "Se ha añadido un archivo a la carpeta XXXXX" set textBody to "Se ha añadido un archivo a la carpeta vigilada XXXX en tu Mac YYYY" set theSender to "correodeenvío@correo.com" -- la cuenta con la que vas a enviar el correo tell application "Mail" set theMessage to make new outgoing message with properties {subject:theSubject, content:textBody, visible:true, sender:theSender} tell theMessage make new to recipient with properties {name:recipientName, address:recipientAddress} send end tell end tell tell application "Mail" quit end tell end try end adding folder items to
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.