2 votos

AppleScript - Error: Esperar fin de línea encontrado final de secuencia de comandos

<p>Soy un principiante de AppleScript y recibir el error anterior en lo que debe ser un simple AppleScript. Creo que es en alguna parte en la instrucción set pero no se puede determinar. Agradeceria mucho cualquier orientación o sugerencia.<pre><code></code></pre></p>

1voto

<p>Delimitar el ampersand usando una barra invertida como tal:</p> <p>(("Macintosh HD:Users:John:Dropbox:John \ &amp; Julie: Wirecard")</p> <p>De: <a href="https://stackoverflow.com/questions/11233682/opening-a-file-with-an-in-the-middle-mac-terminal">https://stackoverflow.com/questions/11233682/opening-a-file-with-an-in-the-middle-mac-terminal</a></p>

1voto

qarma Puntos 71

Se omite el cierre de la línea en la using terms from... bloque.

▸ Agregar end using terms from hasta el final de la secuencia de comandos.


Sin embargo, la secuencia de comandos se produce un error, dado que la variable theAttachment es indefinido.

En menos notas importantes, usted no tiene que declarar attachmentsFolder clase Unicode Text, como ya se ha expresado el valor de la variable como una cadena (lo cual es de texto unicode). Ya que es una carpeta que está especificando, el HFS ruta de acceso debe tener un final de colon, que ha omitido. Esto en realidad podría conducir a otro error a la hora de concatenar con el nombre de archivo. De hecho, usted no tiene que utilizar HFS de las rutas de todos cuando se proporciona una ruta de acceso a la ubicación donde el archivo adjunto es para ser salvos. Un POSIX cadena de ruta de acceso es totalmente aceptable, y en realidad preferible. Así, se vería así:

    set attachmentsFolder to "/Users/John/Dropbox/John & Julie/Wirecard/"
    set savePath to the attachmentsFolder & (the name of theAttachment)
    save theAttachment in POSIX file savePath

También me gustaría decir que el try...end try es innecesario, y dificultando: si hay un error en la save comando (que no se como se encuentra actualmente, dada la omitido colon en la cadena de ruta de acceso), que pasaría desapercibido y su apego simplemente no se salvan, pero usted no tiene idea de por qué hasta que se quite la try...end try recinto.

Pero la razón por la que no necesitan en realidad es porque no hay ninguna razón para silenciar los errores en este punto de la secuencia de comandos. Es el último comando, de manera que si el script termina debido a un error, no importa. Normalmente, el try bloque podría ser útil si hay más comandos para seguir después, y usted no quiere que el error al guardar el archivo adjunto para evitar que el resto de la secuencia de comandos de ejecución.

La implementación de estos cambios darán lugar a esta como una versión revisada de la secuencia de comandos:

    using terms from application "Mail"
        on perform mail action with messages theMessages for rule theRule
            set attachmentsFolder to "/Users/John/Dropbox/John & Julie/Wirecard/"
            tell application "Mail"
                set savePath to the attachmentsFolder & the name of theAttachment

                with timeout of 1800 seconds -- 30 minutes!
                    save theAttachment in POSIX file savePath
                end timeout
            end tell
        end perform mail action with messages
    end using terms from

(A pesar de que todavía es necesario definir el theAttachment variable.)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by: