Я создал службу автоматизации, которая запускает очень простой яблочный скрипт:

при запуске {вход, параметры}

tell application "Finder"
    set theFile to selection
    set theFolder to choose folder
    move theFile to theFolder
end tell

return input

конец бега

Это работает, но есть пара проблем, которые я хотел бы исправить, если это возможно.

Когда я запускаю сервис, и появляется диалоговое окно выбора папки, в строке меню появляется значок с изображением вращающегося зубчатого колеса, который все портит. Он исчезает, когда диалоговое окно закрывается, но оставляет значки в значках строки меню. Незначительно, но раздражает. Есть ли способ предотвратить такое поведение?

Второй является более важным и связан с тем, как выбран файл, который я хочу переместить. Желаемое поведение заключается в том, что я (ctl) щелкаю правой кнопкой мыши по файлу, выбираю сервис и каталог назначения, и файл перемещается.

Когда сценарий написан, я должен сначала щелкнуть левой кнопкой мыши по файлу, чтобы "полностью" выбрать его, затем щелкнуть правой кнопкой мыши, чтобы выбрать службу. Если я просто щелкну правой кнопкой мыши по файлу без первого щелчка левой кнопкой мыши, родительский каталог будет перемещен. Не то, что я хочу, чтобы случилось. Можно ли написать что-то вроде «установить theFile в the_file_selected_by_right-click»?

1 ответ1

0

Я не знаю, как предотвратить этот пробел в строке меню, но решение второй проблемы состоит в том, чтобы установить "Служба получает выбранный" в "файлы или папки" и передать файлы в качестве входных данных для сценария:

on run {input}
    tell application "Finder" to move input to (choose folder)
end run

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .