@JuanANavarro.
Al utilizar el shell debe usar el formulario citado de para el TEXTO y la ruta del archivo. Esto ayudará a detener errores con espacios en 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
La secuencia de comandos anterior funciona bien.
Si no lo tienen & forma citada de someText
sino que tuve & someText me gustaría tener el siguiente error.
error "sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file" number 2
Los apóstrofes en "he" es visto como parte del comando.
Si tuviera
conjunto TEXTFILE a "/ Users/nombre de usuario/Escritorio/alguna foo.txt" como mi ruta de archivo (observe el espacio.) Y no tenía & forma citado TEXTFILE de sino que tuve & TEXTFILE
Luego, cuando el archivo se escribió que iba a escribir en un archivo denominado "algunos "y no" algunos foo.txt "
Encontré que esta versión no puede escribir caracteres que no sean ASCII en archivos de texto. ¿Hay una versión compatible con UTF-8 de este código? Los caracteres que no son ASCII aparecen como ?? en los archivos de texto resultantes. – kakyo
Esta es una buena solución para el archivo IO, la complejidad se debe a que el archivo IO refleja las llamadas en MacOS clásico, por ejemplo, las antiguas llamadas 'FSRead'' FSWrite' del Administrador de archivos. Necesita tener un 'FSRef' para el archivo que abre y luego configure el EOF para borrar el archivo antes de comenzar a escribir. –