Используя яблочный скрипт, чтобы выбрать папку и использовать в качестве переменной - PullRequest
0 голосов
/ 04 июня 2019

Мне нужно изменить текущий код, чтобы разрешить выбор папки.Мой текущий код выглядит следующим образом и работает для выбора папки без проблем:

tell application "Finder"
    set sourceFolder to folder POSIX file "/Users/Username/Desktop/Upload/Temp/HighRes/"
    set theFiles to files of sourceFolder
    set inputPath to "/Users/Username/Desktop/Upload/Temp/"
end tell

Я пробовал следующее, но не могу определить правильный синтаксис, чтобы добраться туда, где я был в моем исходном коде

tell application "Finder"
    set inputPath to folder POSIX file (choose folder with prompt "Please choose folder to be processed")
    set sourceFolder to folder POSIX file (inputPath & "/HighRes")
    set theFiles to files of sourceFolder
end tell

Вышеприведенный процесс обрабатывает, но выдает ошибки и говорит, что искатель получил ошибку и не может преобразовать псевдоним "xyz" в тип integer.

1 Ответ

1 голос
/ 04 июня 2019

Пожалуйста, забудьте про танец POSIX.Искателю нравятся его собственные и alias спецификаторы.

tell application "Finder"
    -- inputPath is an alias specifier
    set inputPath to (choose folder with prompt "Please choose folder to be processed")
    -- sourceFolder is built as a Finder item specifier
    set sourceFolder to folder "HighRes" of inputPath
    set theFiles to files of sourceFolder
end tell

Даже ваш первый фрагмент может быть написан более простым способом

tell application "Finder"
    set sourceFolder to folder "Upload:Temp:HighRes" of desktop
    set theFiles to files of sourceFolder
    set inputPath to folder "Upload:Temp" of desktop
end tell
...