Вот исправленная версия вашего скрипта:
tell application "System Events"
set the_folder to the folder "~/Dropbox"
set the_file to the file "ToDo.txt" in the_folder
set the_text to do shell script "cat " & ¬
quoted form of (POSIX path of the_file as text)
end tell
return the_text
Обратите внимание на следующие моменты:
- Не используйте
Path To
для папок, которые не являютсяна него ссылается встроенная константа AppleScript, например home folder
или desktop folder
.Вместо этого я изменил строку на простую ссылку на folder
объект с указанным путем "~/Dropbox"
. - Аналогично, вам нужно поместить спецификатор объекта
file
перед указанием имени файла,в противном случае все, что вы сделали, дали Системные события кусок текста и сказали, что текст находится где-то в папке (что не имеет большого смысла).Теперь я сказал Системные события , что это file
, а текст - это имя файла, он точно знает, где его найти. - Наконец, по какой-то причине вам необходимоукажите, что
POSIX path of the_file
относится к типу класса text
.Я действительно не знаю, почему AppleScript не может видеть, что это уже текст, но иногда это так.
Теперь я собираюсь показать вам еще один скрипт, который будет делать именно то, что вашделает:
set the_text to read (POSIX path of ¬
(path to home folder) & ¬
"Dropbox/ToDo.txt" as POSIX file as alias)