Estoy en MacOS 11.2.1 . Tengo un código AppleScript basado en Automator para leer el texto de un archivo y luego "escribirlo" en la aplicación que está actualmente activa. Esto funciona bien, pero necesito algo más rápido. Tengo un archivo de 2 Meg de texto que quiero enviar a una aplicación, y se tarda unas horas utilizando este código Applescript. ¿Puede alguien sugerir una forma de simular la escritura más rápida que esto?
on readFile(unixPath)
set fhandle to (open for access (POSIX file unixPath))
set txt to (read fhandle for (get eof fhandle) as «class utf8»)
close access fhandle
return txt
end readFile
set texttowrite to readFile("/path/to/file/containing/text")
tell application "[Target Application]" to activate
tell application "System Events"
repeat with i from 1 to count characters of texttowrite
keystroke (character i of texttowrite)
end repeat
end tell
... donde [Target Application]
es la aplicación en la que se "tecleará" el texto.
Necesito hacer esto en lugar de simplemente un comando "cp", porque la aplicación de destino es una puerta de enlace a un servicio en una máquina diferente. Esa aplicación en particular no ofrece capacidades de transferencia de archivos, por lo que necesito hacer esto a través de la escritura simulada.
¿Alguna sugerencia sobre cómo hacer esta simulación de escritura más rápida?
Gracias de antemano.
PS : Esta lentitud no tiene nada que ver con el hecho de que la aplicación de destino gestione una conexión remota. Si utilizo este código para enviar los datos a una aplicación en la misma máquina en la que se ejecuta este AppleScript, el "tecleo" es igual de lento.