Applescript es el lenguaje de scripting de Apple, un tanto oscuro, pero es una poderosa herramienta de la que pueden aprovecharse los programas novatos. Con unos cuantos Applescripts ingeniosos que se encarguen de tareas molestas, podemos aumentar la productividad y automatizar nuestros problemas.

¿Qué es Applescript?

applescript-productividad-1

Applescript interactúa con la mayoría de las aplicaciones de Mac, como Finder, iTunes, QuickTime y Mail. Si estás familiarizado con Automator, Applescript es una especie de versión para usuarios avanzados de esa aplicación.

1. Activar archivos ocultos

Guarda esto como una aplicación, y tendrás un conmutador clicable para revelar los archivos ocultos en el Finder.

Establece newHiddenState a "YES "tryset oldHiddenState todo shell script "defaults read com.apple.finder AppleShowAllFiles "if oldHiddenState isin{"1", "YES"}thenset newHiddenState to "NO "endifendtry shell script "defaults write com.apple.finder AppleShowAllFiles"& newHiddenStatedo shell script "killAll Finder"

2. Renombrar archivos por lotes

Este script pedirá al usuario un nombre de archivo y luego renombrará automáticamente los archivos seleccionados con esa cadena de texto más un índice creciente. Incluso añade ceros a la izquierda para los archivos del uno al diez.

Este código viene de https://gist.github.com/oliveratgithub/-- Abrir en el editor de AppleScript y guardar como aplicación - -------------------------------------------------------------- esto es necesario para romper el nombre del archivo en pedazos (nombre y la extensión por separado) settextitemdelimitersto". "tellapplication "Finder "set all_files toeveryitemof(choose filewith prompt "Choose the Files you'd like to rename: "with multiple selections allowed)aslistdisplay dialog "New file name: "default answer""set new_name totext returned ofresult--now we start looping through all selected files. index' es nuestro contador que inicialmente ponemos a 1 y luego contamos hacia arriba con cada archivo.--el número 'index' es, por supuesto, necesario para el renombramiento secuencial de nuestros archivos.repetirconíndicedesde1hastaelcontadordetodoslosarchivos --utilizando nuestro índice, seleccionamos el archivo apropiado de nuestra lista --poner este_archivoenelíndicedetodoslosarchivosponerelnombredelarchivoenelcontadordetodosloselementos(obtenernombredeestearchivo)--si el número del índice es inferior a 10, añadiremos un "0" precedente para una ordenación adecuada del nombre del archivo más adelante-si el índice es inferior a 10, se fija el prefijo del índice en "0"-si no se fija el prefijo del índice en "endif----comprobemos si el archivo actual de nuestra lista (basada en el número del índice) tiene alguna extensión de archivo-si el número del recuento del nombre del archivo es 1entonces--el recuento del nombre del archivo = 1 significa que hemos extraído sólo una cadena de texto del nombre completo del archivo. Así que no hay ninguna extensión de archivo presente.set file_extension to""else--yup, estamos procesando actualmente un archivo que tiene una extensión de archivo--tenemos que volver a añadir la extensión de archivo original después de cambiar el nombre del archivo!set file_extension to"."&item-1of file_name_count endif--vamos a renombrar nuestro archivo, añadir el número secuencial de 'index' y añadir la extensión del archivo a suetenameof this_file to new_name & index_prefix &index& file_extension asstringendrepeat--felicidades por haber realizado con éxito la tarea de renombrado por lotes :) display alert "¡Todo hecho! Renombrado "&index&" archivos con '"& nuevo_nombre &"' para usted. Que tenga un buen día! :) "endtell

3. Escalar una imagen por porcentaje

Este script escalará las imágenes al 50% de su tamaño original.

Solicite una imagen y elija un archivo de tipo "public.image "con el mensaje "Por favor, seleccione una imagen:"-- Localice una carpeta de salida-configure theOutputFolder a(path toesktopfolderasstring)-- Lance Image Eventstellapplication "Image Events "launch-- Abra el imageset theImage toopen theImageFile tell theImage -- Determine un nombre de guardado para el imageset theName tonameset theSaveName a "smlr-"& theName -- Escale la imagen en un 50% por el factor 0.5-- Guardar la imagen en la carpeta de salida, utilizando el nombre de guardadoaveasfile type in(theOutputFolder & theSaveName)-- Cerrar la imagenloseendtellendtell

4. Escalar la imagen al ancho del píxel

Esto utiliza gran parte del inicio de los scripts anteriores, pero en su lugar escala a anchos de píxel.

RELACIONADO:  Consejos esenciales de seguridad para llevar su trabajo a la carretera

Pedirá al usuario el ancho de píxel deseado y anexará ese ancho de píxel al inicio del nombre del nuevo archivo.

-- Pedir un conjunto de imágenes theImageFile para elegir un archivo de tipo "public.image "con el mensaje "Por favor, seleccione una imagen: "set dialogResult to(display dialog "Enter desired pixel width:"Establecer pixelWidth a (texto devuelto por dialogResultado) comointegerendencia-- Localizar una carpeta de salida Establecer theOutputFolder a (ruta de acceso a la carpeta de escritorio como cadena de caracteres) -- Lanzar Image Eventstellation "Image Events "launch-- Abrir las imágenes Establecer theImage para abrir theImageFile y decirle a theImage -- Determinar un nombre para guardar las imágenes Establecer theName a Establecer theSaveName a (pixelWidth como texto) &)"-px-"& theName -- Escalar la imagen a pixelWidth escalar a tamaño pixelWidth -- Guardar la imagen en la carpeta de salida, usando el nombre de guardadoaveasfile type in(theOutputFolder & theSaveName)-- Cerrar la imagenecloseendtellendtell

5. Copia de seguridad de carpetas en el destino elegido

Este sencillo script duplica una carpeta elegida a un destino elegido, lo que puede hacer que las complicadas copias de arrastrar y soltar sean un poco menos dolorosas.

set backupTarget to(elija la carpeta con el mensaje "Seleccione un objetivo de copia de seguridad")set backupDestination to(elija la carpeta con el mensaje "Seleccione un destino de copia de seguridad")tellapplication "Finder "duplicate folder backupTarget tofolder backupDestinationendtell