Как создать сервис для архивирования файлов в Mac OS X Lion

Я должен создать сервисы для двух разных вариантов использования:

  1. Отметьте папку или файл и заархивируйте его с помощью инструмента архиватора, такого как rar7zip.
  2. Выделите текст и откройте приложение-переводчик.

Я пытался использовать Automator, но при выборе новой добавленной службы из контекстного меню служб ничего не происходит. Когда я смотрю на ~/Library/Services Я вижу свои новые услуги, но с workflow расширение, а не service,

Шаги, которые я сделал для создания сервиса для первого варианта использования:

  1. В Automator - выберите Сервис
  2. Перетащите соответствующее приложение из папки "Приложения".
  3. Выберите "файлы или папки" в соответствующем раскрывающемся списке и 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. Он называется " Перевести выделение" с помощью вкладки "Перевести".

Другие вопросы по тегам