Я пишу некоторые AppleScript в рабочем процессе Automator, и мне нужно получить родительскую папку объекта файла (или папки). Я искал все это и получил те же ответы, которые должны использовать свойства "container", "parent" или "folder". Тем не менее, ни один из них не работает для меня, независимо от того, заключены ли они в блок 'Tell "Finder".
Таким образом, если я попробую что-то вроде:
set a to POSIX file "/usr/local"
tell application "Finder"
set b to container of a
end tell
display alert a
Я получаю сообщение об ошибке «Не удается получить контейнер с файлом« Macintosh HD:usr:local ».«То же самое происходит с родителем и папкой.
Кроме того, если я делаю "отображать класс предупреждения a", я получаю "furl". Это в редакторе AppleScript. С другой стороны, рабочий процесс Automator с модулем Run Applescript с текстом
on run {input, parameters}
repeat with i from 1 to length of input
set the_file to item i of input
display alert class of the_file
end repeat
return input
end run
отображает "1634494835" в окне предупреждения. Но если я вместо этого использую "return class of the_file" и использую модуль View Results, он покажет результат как {alias}. Несмотря на эти странные обозначения классов, я могу использовать обычные псевдонимы и свойства файла, такие как "путь POSIX", с файловым объектом.
Кто-нибудь знает, что здесь происходит? Моя библиотека AppleScript сломана или что-то?