1

Я получаю «Документ [имя файла] не может быть открыт. У вас нет разрешения »при попытке доступа к нескольким файлам в AppleScript. Тем не менее, я могу открыть эти файлы вручную без проблем.

Я попытался следующее:

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

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

Чтобы добавить дальнейшее разочарование, файлы не всегда сообщают об ошибке. Иногда я получаю ошибку в файле при запуске скрипта, но не в следующий раз!

Почему я могу получить эту ошибку разрешений, и как еще я могу ее исправить?

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

0