Creé un servicio de automatización que ejecuta un Applescript muy simple:
en ejecución {entrada, parámetros}
tell application "Finder"
set theFile to selection
set theFolder to choose folder
move theFile to theFolder
end tell
return input
final de carrera
Funciona, pero hay un par de problemas que me gustaría solucionar si es posible.
Cuando ejecuto el servicio y aparece el cuadro de diálogo para elegir carpeta, aparece un icono con forma de rueda dentada giratoria en la barra de menú y estropea las cosas. Desaparece cuando se cierra el cuadro de diálogo pero deja un espacio en los iconos de la barra de menú. Menor, pero molesto. ¿Existe alguna forma de prevenir este comportamiento?
El segundo es más importante y tiene que ver con cómo se selecciona el archivo que quiero mover. El comportamiento deseado es hacer clic derecho (ctl) en el archivo, elegir el servicio y el directorio de destino y el archivo se mueve.
Mientras se escribe el script, primero tengo que hacer clic izquierdo en el archivo para seleccionarlo "completamente", luego hacer clic derecho para elegir el servicio. Si simplemente hago clic derecho en el archivo sin hacer clic izquierdo primero, se mueve el directorio principal. No es lo que quiero que pase. ¿Sería posible escribir algo como "configurar el archivo en the_file_selected_by_right-click"?
Respuesta1
No sé cómo evitar ese espacio en la barra de menú, pero la solución al segundo problema es configurar "El servicio recibe seleccionado" en "archivos o carpetas" y pasar los archivos como entrada al script:
on run {input}
tell application "Finder" to move input to (choose folder)
end run