список подпапок с использованием appleScript - PullRequest
0 голосов
/ 04 апреля 2011

Это мой первый яблочный скрипт.Я думал, что сделаю что-то простое, например, перейдя в папку с помощью пути и перечислив подпапки ... К сожалению, я не могу понять это: -)

Вот то, что я пробовал до сих пор:

Первая попытка:

tell application "Finder"
    set the_folder to POSIX path of "Users:MyName:Doc"
    log the_folder
    set folder_list to every item of folder the_folder
    log folder_list 
end tell

Это приводит к ошибке: «Finder получил ошибку: не удается получить папку» /Users/MyName/Doc".

Может кто-нибудь, пожалуйста: 1. Объясните мне, что я делаю неправильно. 2. Приведите пример, который работает.

Заранее спасибо.

кстати, папка на моем компьютере существует...

Ответы [ 2 ]

1 голос
/ 05 июля 2011

ОБНОВЛЕНИЕ: Ой!Похоже, что я дал вам неверную информацию, поэтому я предоставлю вам правильную информацию.

Для команды POSIX path of требуется полная ссылка на псевдоним.Под этим я подразумеваю указание полной ссылки на файл (т.е. <your_disk_name>:Users:<your_user_name>:somefolder:).Убедитесь, что, если вы ссылаетесь на папку, вы заканчиваете ссылку двоеточием (то есть Macintosh HD:Users:).Улучшенная версия будет выглядеть следующим образом:

tell application "Finder"
  set the_folder to (POSIX path of ("<your_disk_name>:Users:<your_user_name>:Doc:") as alias) as alias
  set folder_list to every item of the_folder
end tell

ДОПОЛНИТЕЛЬНО

Для принудительного возврата пути POSIX (т. Е. /Users/<your_user_name>/somefolder) обратно в alias необходимо два преобразования.

Преобразование 1: Первым шагом является преобразование ссылки в ссылку на файл.Чтобы сделать это, поместите слова as POSIX file после ссылки, например, так:

"/Users/<your_user_name>/somefolder" as POSIX file

Этот код выполняет поиск ссылки на файл в этой форме: file "<your_disk_name>:Users:<your_user_name>:somefolder:"

Преобразование 2: Добавить второе приведение, as alias, в конец ссылки ...

"/Users/<your_user_name>/somefolder" as POSIX file as alias

Этот код создает фактическую ссылку псевдонима: alias "<your_disk_name>:Users:<your_user_name>:somefolder:

Если выесть вопросы, просто спросите.:)

1 голос
/ 04 апреля 2011

Пути Posix - это пути, которые вы используете в командной строке и разделенные символом "/". Пути к Applescript разделены символом «:», поэтому просто используйте их. Попробуйте этот скрипт, чтобы увидеть, как должен выглядеть путь ...

set folderPath to (choose folder) as text
...