way tool tag rapid para graffiti generador creator better io applescript

io - tool - ¿Cómo escribo en un archivo de texto usando AppleScript?



tag generator instagram (5)

Eso es todo. ¿Cómo puedo escribir en un archivo de texto usando AppleScript?

He intentado buscar en Google, pero las respuestas parecen tener años y no estoy realmente seguro de cuál debería ser el idioma preferido en estos días.


@Juananavarro.

Cuando use el shell, debe usar la forma entre comillas para el TEXTO y la ruta del archivo. Esto ayudará a detener los errores con espacios en los nombres de archivos y caracteres como apóstrofes en el texto, por ejemplo.

set someText to "I''ve also learned that a quick hack, if one only wants to spit a bit of text to a file, is to use the shell." set textFile to "/Users/USERNAME/Desktop/foo.txt" do shell script "echo " & quoted form of someText & " > " & quoted form of textFile

El script anterior funciona bien.

Si no tuviera una forma citada de algún texto.

pero en su lugar tenía & someText obtendría el siguiente error.

error "sh: -c: línea 0: EOF inesperado mientras buscaba coincidencias` ''''

sh: -c: línea 1: error de sintaxis: final inesperado del archivo "número 2

Los apóstrofes en " He " se ven como parte del comando.

Si tuviera

establezca textFile en "/ Users / USERNAME / Desktop / some foo.txt" como mi ruta de acceso al archivo (tenga en cuenta el espacio). Y no tenía la forma de TextFile citada, sino que tenía & textFile

Luego, cuando se escribiera el archivo, se escribiría en un archivo llamado " some " y no " some foo.txt "


Para mí, ejecutar do shell script era demasiado lento en un PowerBook G4 cuando se ejecutaba en un bucle 300000 veces;), pero por supuesto eso es más rápido de escribir, lo que a veces tiene sentido. También querrás escapar de los caracteres de shell como este:

do shell script "echo" y la forma citada de foobar & ">> some_file.txt"

y por razones estéticas usaría

dime que haga shell script "# ..."

pero aún no he verificado (lo que creo) que si "do shell script" está en un bloque de "tell Finder", por ejemplo, es el proceso Finder el que crea una subshell. Con "Dime que haga shell script" al menos el registro del Editor de secuencias de comandos se ve mejor para mí. ;)


También aprendí que un truco rápido, si uno solo quiere escupir un poco de texto a un archivo, es usar el shell.

do shell script "echo TEXT > some_file.txt"


Una versión corta en AppleScript puro:

set myFile to open for access (choose file name) with write permission write "hello world" to myFile close access myFile

Parece que no hay una solución nativa de comando. En su lugar tienes que abrir y luego cerrar el archivo.


on write_to_file(this_data, target_file, append_data) -- (string, file path as string, boolean) try set the target_file to the target_file as text set the open_target_file to ¬ open for access file target_file with write permission if append_data is false then ¬ set eof of the open_target_file to 0 write this_data to the open_target_file starting at eof close access the open_target_file return true on error try close access file target_file end try return false end try end write_to_file

Se puede limpiar la interfaz con los siguientes ...

my WriteLog("Once upon a time in Silicon Valley...") on WriteLog(the_text) set this_story to the_text set this_file to (((path to desktop folder) as text) & "MY STORY") my write_to_file(this_story, this_file, true) end WriteLog