AppleScript menunjukkan “Dokumen tidak dapat dibuka. Anda tidak memiliki izin. ”Tetapi file dapat dibuka?


1

Saya mendapatkan "Dokumen [nama file] tidak dapat dibuka. Anda tidak memiliki izin" ketika mencoba mengakses beberapa file dalam AppleScript. Namun, saya dapat membuka file-file ini secara manual tanpa masalah.

Saya telah mencoba yang berikut ini:

  • Izin yang dimodifikasi secara manual melalui File->Get Info
  • Utilitas Disk yang Digunakan untuk "Memverifikasi" dan "Memperbaiki Izin"
  • Reboot dalam mode pemulihan untuk mereset izin direktori home dan ACL

Saya terus memiliki masalah.

Untuk menambah frustrasi lebih lanjut, file tidak secara konsisten melaporkan kesalahan. Kadang-kadang saya akan mendapatkan kesalahan pada file ketika menjalankan skrip, tetapi tidak pada waktu berikutnya!

Mengapa saya menerima kesalahan izin ini, dan bagaimana lagi saya mengatasinya?

AppleScript di bawah ini, jika membantu:

-- 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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.