Как создать сервис для архивирования файлов в Mac OS X Lion
Я должен создать сервисы для двух разных вариантов использования:
- Отметьте папку или файл и заархивируйте его с помощью инструмента архиватора, такого как rar7zip.
- Выделите текст и откройте приложение-переводчик.
Я пытался использовать Automator, но при выборе новой добавленной службы из контекстного меню служб ничего не происходит. Когда я смотрю на ~/Library/Services
Я вижу свои новые услуги, но с workflow
расширение, а не service
,
Шаги, которые я сделал для создания сервиса для первого варианта использования:
- В Automator - выберите Сервис
- Перетащите соответствующее приложение из папки "Приложения".
- Выберите "файлы или папки" в соответствующем раскрывающемся списке и Finder.app во втором раскрывающемся списке.
Для второго варианта использования я выбрал "текст" и "любое приложение".
Что я делаю неправильно?
1 ответ
Когда вы перетаскиваете приложение в Automator, вы создаете действие Get Specified Finder Items. Не перетаскивайте их на Automator, а запускайте, например, из действия " Выполнить сценарий оболочки" или " Выполнить AppleScript". Действие Launch Application не принимает файловые аргументы в моем тестировании.
Используя Run Shell Script, который получает входные данные в качестве аргументов, он выглядит следующим образом (используя CleanArchiver в качестве замены):
open -a CleanArchiver "$@"
Это также зависит от вашего приложения, что они делают, когда получают файлы в качестве входных данных. Если ваш архиватор (который я не куплю, чтобы проверить это) автоматически связывает их, у вас все хорошо. В противном случае вам нужно обойти ограничения программы.
Обратите внимание, что вы можете создать .zip
архивы из любого контекстного меню выбора файлов в Finder.
Невозможно передать выбранный текст в качестве аргументов в программу, запущенную, например, с помощью Launch Application. Вам нужно, чтобы он был AppleScriptable, или сначала напишите текст в файл. Это зависит от приложения (о котором вы даже не упоминаете). Некоторые варианты я упоминаю в этом и в этом ответе, используя веб-сайты в обоих случаях.
Обратите внимание, что для Tab Tab у вас уже есть служба, которая может перевести выбор, и вам не нужно создавать ее самостоятельно. Смотрите скриншоты App Store. Он называется " Перевести выделение" с помощью вкладки "Перевести".