AppleScript показує: "Не вдалося відкрити документ. Ви не маєте дозволу. "Але файл можна відкрити?


1

Я отримую "Не вдалося відкрити документ [ім'я файлу. У вас немає дозволу" при спробі отримати доступ до кількох файлів в AppleScript. Однак я можу відкрити ці файли вручну без проблем.

Я спробував таке:

  • Дозвіл, змінений вручну через File->Get Info
  • Використовувана утиліта диска для "перевірки" та "відновлення дозволів"
  • Перезавантажено в режимі відновлення для скидання дозволів домашнього каталогу та acls

Я продовжую мати проблеми.

Щоб додати подальше розчарування, файли послідовно не повідомляють про помилку. Іноді я отримаю помилку у файлі під час запуску сценарію, але не наступного разу!

Чому я можу отримувати цю помилку дозволів і як ще я можу її вирішити?

AppleScript нижче, якщо це допомагає:

-- 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
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.