Предоставление разрешений скрипту AppleScript

#applescript

#applescript

Вопрос:

У меня есть простой AppleScript, который должен удалять все в папке Downloads, за исключением выбранного списка папок, переданного в конце.

 tell application "Finder"
    delete (every item of "Downloads" of folder currentUser of folder "Users" of startup disk whose name is not in {"PreciousFolder"})
end tell
 

При сохранении AppleScript возвращает следующую ошибку:

сообщение об ошибке

Ответ №1:

Вы собираетесь удалить каждый элемент литеральной строки "Downloads" , что не имеет смысла. Добавьте folder спецификатор

 tell application "Finder"
    delete (every item of folder "Downloads" of folder currentUser of folder "Users" of startup disk whose name is not in {"PreciousFolder"})
end tell
 

или короче

 tell application "Finder"
    delete (every item of (path to downloads folder) whose name is not in {"PreciousFolder"})
end tell
 

Комментарии:

1. В указателе папки я намереваюсь удалить файлы и папки из папки Downloads, за исключением PreciousFolder и его содержимого. Нужен ли мне в этом случае спецификатор папки или файла?

2. folder Спецификатор ссылается на папку downloads, а не на ее содержимое. every item рассматривает как файлы, так и папки.