AppleScript muestra "No se pudo abrir el documento. No tienes permiso". ¿Pero se puede abrir el archivo?

AppleScript muestra "No se pudo abrir el documento. No tienes permiso". ¿Pero se puede abrir el archivo?

Recibo el mensaje "El documento [nombre de archivo] no se pudo abrir. No tienes permiso" cuando intento acceder a varios archivos en un AppleScript. Sin embargo, puedo abrir estos archivos manualmente sin problemas.

He intentado lo siguiente:

  • Permiso modificado manualmente a través deFile->Get Info
  • Utilidad de discos usada para "verificar" y "reparar permisos"
  • Reiniciado en modo de recuperación para restablecer los permisos y ACL del directorio de inicio

Sigo teniendo el problema.

Para aumentar aún más la frustración, los archivos no informan constantemente el error. A veces aparece el error en un archivo cuando ejecuto el script, ¡pero no la próxima vez!

¿Por qué podría recibir este error de permisos y de qué otra manera podría solucionarlo?

AppleScript a continuación, si ayuda:

-- prompt for source directory
set srcDirectory to (choose folder)

-- get list of all files in source directory
set allFiles to (list folder srcDirectory without invisibles)

tell application "OmniGraffle"
    -- create a new document
    set newDocument to (make new document with properties {template:"Single Pixel Grid"})

    -- added for debug purposes
    delay 5

    -- get a reference to the first layer
    set destinationLayer to first layer in first canvas of newDocument

    -- step through each of the file
    repeat with currentFile in allFiles
        -- get a reference to the next file
        set srcFileString to (srcDirectory as string) & currentFile
        set srcFileRef to (open srcFileString)

        -- get a reference to the icon
        set srcGraphic to first graphic in first layer in first canvas of srcFileRef

        -- flip the icon (they're all upside down)
        flip srcGraphic over vertically

        -- copy the updated source to destination canvas
        duplicate srcGraphic to destinationLayer

        -- close the source file
        close srcFileRef saving no

        -- added for debug purposes
        delay 5
    end repeat

end tell

información relacionada