Beim Versuch, in einem AppleScript auf mehrere Dateien zuzugreifen, erhalte ich die Meldung „Das Dokument [Dateiname] konnte nicht geöffnet werden. Sie haben keine Berechtigung“. Ich kann diese Dateien jedoch problemlos manuell öffnen.
Ich habe Folgendes versucht:
- Manuell geänderte Berechtigung über
File->Get Info
- Festplatten-Dienstprogramm zum „Überprüfen“ und „Reparieren von Berechtigungen“ verwendet
- Neustart im Wiederherstellungsmodus, um die Berechtigungen und ACLs des Home-Verzeichnisses zurückzusetzen
Ich habe weiterhin das Problem.
Um das Ganze noch frustrierender zu machen, melden die Dateien den Fehler nicht immer. Manchmal erhalte ich den Fehler für eine Datei, wenn ich das Skript ausführe, aber beim nächsten Mal nicht!
Warum wird mir dieser Berechtigungsfehler möglicherweise angezeigt und wie kann ich das Problem sonst noch beheben?
AppleScript unten, falls es hilft:
-- 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