0 votos

Apple script no puede trabajar con la ruta existente

Tengo que hacer una exportación desde una aplicación bancaria y me gusta mover el archivo generado, que se encuentra en algún lugar profundo de /tmp/..., a una carpeta dentro de documentos.

tell application "MoneyMoney"
    set exportFile to export transactions from account "DE91787695590008764648" from date "2022-01-01" to date "2022-12-31" as "csv"
end tell

tell application "Finder"
    set fileName to name of (POSIX file exportFile as alias)
    set targetName to "/Users/username/Documents/Klientendaten/AccountImport/" & fileName
    move exportFile as POSIX file to folder targetName as POSIX file
end tell

return targetName

El editor script dice algo con Error en AppleEvent-Routine número -10000. Creo que tiene algo que ver con targetName, que apple script no encuentra, pero que definitivamente existe. ¿Hay algún error en targetName ? ¿O es que la llamada a la mudanza es errónea?

0voto

qarma Puntos 71

El problema es muy probable que sea donde has definido targetName Si se trata de una ruta de acceso a un archivo (y no a una carpeta), se puede afirmar que se trata de un folder en el move no será posible; si es una ruta de acceso a una carpeta, es casi seguro que no existe, ya que se deriva del nombre del archivo que se exporta momentos antes.

Aquí tienes una versión modificada de la parte más destacada de tu script:

set targetPath to "/Users/username/Documents/Klientendaten/AccountImport/"

tell application id "com.apple.Finder" to tell (move ¬
        (the exportFile as POSIX file) to the folder ¬
        (targetPath as POSIX file)) as text to return ¬
        the POSIX path

He añadido paréntesis para ayudar a la claridad, aunque la forma en que lo has formulado -incluso sin paréntesis- está bien y funcionaría igualmente. Esto traslada la exportFile a la carpeta AccountImport . Si en realidad quieres moverlo a una carpeta con el mismo nombre que el exportFile entonces esta carpeta debe ser creada primero:

set targetPath to "/Users/username/Documents/Klientendaten/AccountImport/"

tell application id "com.apple.Finder" 
         set exportFile to the file named (exportFile as POSIX file)
         set targetFolder to the folder named (targetPath as POSIX file)
         set targetFolder to make new folder in the targetFolder ¬
                 with properties {name:exportFile's name as text}
         move the exportFile to the targetFolder
         return the POSIX path of (the result as text)
end tell

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:

X