Я создал службу автоматизатора, которая запускает очень простой скрипт Apple:
при запуске {вход, параметры}
tell application "Finder"
set theFile to selection
set theFolder to choose folder
move theFile to theFolder
end tell
return input
конец прогона
Это работает, но есть пара проблем, которые я хотел бы исправить, если это возможно.
Когда я запускаю службу и появляется диалоговое окно выбора папки, в строке меню появляется вращающийся значок в виде шестеренки, который все портит. Он исчезает, когда диалоговое окно закрывается, но оставляет пробел в значках строки меню. Незначительно, но раздражает. Можно ли как-то предотвратить это поведение?
Вторая более существенна и связана с тем, как выбран файл, который я хочу переместить. Желаемое поведение заключается в том, что я нажимаю правой кнопкой мыши (ctl) на файле, выбираю службу и целевой каталог, и файл перемещается.
Так как скрипт написан, мне сначала нужно щелкнуть левой кнопкой мыши по файлу, чтобы "полностью" выбрать его, а затем щелкнуть правой кнопкой мыши, чтобы выбрать службу. Если я просто щелкну правой кнопкой мыши по файлу, не щелкнув сначала левой кнопкой мыши, родительский каталог будет перемещен. Это не то, что я хочу. Можно ли написать что-то вроде "set theFile to the_file_selected_by_right-click"?
решение1
Я не знаю, как устранить этот пробел в строке меню, но решение второй проблемы — установить для параметра «Служба получает выбранные» значение «файлы или папки» и передавать файлы в качестве входных данных в скрипт:
on run {input}
tell application "Finder" to move input to (choose folder)
end run