Расположение сервисов, созданных в Automator


19

Давным-давно я создал сервис в Automator, который все еще работает. Но я хочу изменить код, и он не находится ни в / Library / Services /, ни в ~ / Library / Services /, поскольку они оба пусты

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


1
Странно ... это ~/Library/Services/расположение по умолчанию для новых сервисов, созданных в Automator, и я только что подтвердил это, создав новый сервис.
Остин

Ответы:


19

Как уже говорили другие, службы обычно находятся в одной из папок «Библиотека / Службы» (~ / Библиотека / Службы, / Библиотека / Службы и / Система / Библиотека / Службы). Если просто посмотреть там не получается, другой вариант - шпионить за тем, какие файлы открываются при вызове сервиса, с помощью чего-то вроде:

sudo opensnoop -n WorkflowService

... и затем запустив сервис, и просматривая результаты, чтобы увидеть, можете ли вы найти соответствующий файл. Если это не служба Automator, вам, возможно, придется отказаться от -n WorkflowService(хотя у вас будет намного больше неуместных файлов для сортировки, потому что вы увидите каждый файл, который открывается во всей ОС).


sudo opensnoop -n WorkflowServiceвообще ничего не показывал и не мог получить разумного от простоsudo opensnoop
Tyilo

1
@Tyilo: Я уверен, что это означает, что это на самом деле не сервис на базе Automator. Может ли это быть предоставлено приложением, которое вы установили?
Гордон Дэвиссон

Ты был прав! Я думал, что сделал это сам ... Большое спасибо!
Tyilo

1
Я набрал 10 очков опыта и получил +1 к ошибочным процессам, которые теперь изученыopensnoop
BaseZen

10

Местоположение созданных пользователем услуг находится под:

~/Library/Services/

(проверено Mac OS X Mountain Lion 10.8.4)

другие места, которые вы получите, введя следующую команду в Терминале:

mdfind .workflow

то же самое на 10.9.5, и когда сомневаешься, mdfind делает это.
Рускес

Это было для меня на Эль-Капитане. Обратите внимание, что /Users/<username>/Libraryэто скрытый и / или системный каталог, поэтому вам необходимо активировать правильные настройки, чтобы отобразить его в Finder.
Магнус W

2

Ты пробовал ~/Library/Workflows/?


Также не существует и также пробовал / Библиотека / Рабочие процессы /
Tyilo

Именно здесь я нашел свои скрипты-автоматизаторы, созданные на Mavericks, но теперь работающие с Yosemite.
Дункан

1

Попробуйте .workflowвыполнить поиск в Spotlight, чтобы найти все файлы рабочих процессов в вашей пользовательской папке. Служба будет называться Whatever the Service Name Is in the Services Menu.workflow.

Если вы предпочитаете Терминал, эта команда будет делать то же самое, ища текущий каталог и все папки под ним:

find ./ -name "*.workflow"

РЕДАКТИРОВАТЬ: Исправлена ​​небольшая ошибка в команде терминала. Видимо -type fне работает с .workflowфайлами.


В Spotlight нет результатов, и команда терминала не показала никаких результатов: 'tyilos-macbook: ~ Tyilo $ cd / tyilos-macbook: / Tyilo $ sudo find ./ -type f -name "* .workflow" Пароль: найти: .// dev / fd / 3: не найти каталог: .//dev/fd/4: не каталог »
Tyilo

@Tyilo Извините, в команде терминала была опечатка, которую я исправил. Попробуйте еще раз, и если он не найдет ничего в вашем домашнем каталоге ( ~), попробуйте запустить его из корневого каталога системы (т.е. введите cd /перед запуском команды find). Это займет некоторое время, поэтому будьте готовы проявить терпение.
Остин

@Tyilo И, конечно, вы можете искать корневую папку в графическом интерфейсе, открыв Macintosh HDв Finder и введя .workflowв поле поиска. (Установите File Nameфлажок вместо Contentsболее быстрого поиска.) Единственным недостатком этого является то, что он не будет искать в скрытых или системных папках, но, вероятно, он вам в любом случае не понадобится.
Остин

@Austin Мой файл не был между файлами, использующими cd /и sudo find ./ -name "*.workflow" > ~/Desktop/services.txt. Я нашел две другие папки, которые также могут быть возможным местом, но они не содержат файл. Места были /Library/Application Support/Apple/Automator/Workflows/и /System/Library/Services/. Я загрузил файл здесь: cl.ly/6i1t
Tyilo

@Austin также попробовал с sudo find ./ -name "*" > ~/Desktop/all.txtи все еще не соответствует
Tyilo

1

Отредактировано, чтобы добавить

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


возможно ~/Library/Application Support/Automator/

С другой стороны, когда я в последний раз делал сервис, я полагал, что мне нужно было сохранить его как .appпервый, чтобы вы могли искать приложения.


Папка / Library / Application Support / Automator / не существовала, но ~ / Library / Application Support / Automator / сделала и была пуста -.- '
Tyilo

@Tyilo Извините, это то, что я имел в виду. Исправлен мой ответ, даже если он неправильный. :)
Мэтью Фредерик

@Matthew Frederick Нашел все файлы приложения с помощью команды @Austin, и ни один из них не соответствовал названию моего сервиса
Tyilo

@Tyilo Я только что проверил свою систему и понял, что создал приложение AppleScript, которое затем я использовал Automator, чтобы превратить в сервис, отсюда мое предложение .app. В результате для него существовали файлы .app и .scpt. Если вы не сделали то же самое, мое предложение не поможет.
Мэтью Фредерик

@ Мэтью Фредерик. У меня нет файла .scpt: s, но служебный файл должен быть где-то, иначе он не будет работать
Tyilo

1

Лучший способ узнать рабочие процессы или что-то еще - использовать приложение: «EasyFind.app». В отличие от Finder и Spotlight и даже командной строки Unix, EasyFind.app может быть настроен для поиска везде, и он имеет возможность сопоставления с шаблоном в стиле Unix. Например, «* .workflow» можно использовать для поиска любой службы на всем жестком диске.

Лучше всего EasyFind.app является бесплатным и легальным.

EasyFind.app

Настройка EasyFind.app для поиска любого рабочего процесса Automator (включая сервисы)

ВМЕСТО использования дополнительных программ вы можете запустить свой Терминал и ввести команду:

mdfind .workflow

Можете ли вы рассказать, где EasyFind может что-то найти, но /usr/bin/findнет?
nohillside

@patrix Я снова посмотрел на / usr / bin / find. Я считаю, что это будет работать, просто EasyFind.app проще в использовании.
Кейделл

1
@patrix: Следующая команда работает нормально для меня: найти ~ -name " .workflow" лучше, чем find ./ -name " .workflow", который ищет только текущий каталог. Из командной строки это действительно / usr / bin / locate, которому я не доверяю. Это быстрее, но файлы должны быть проиндексированы, прежде чем их можно будет найти. Кроме того, я не доверяю Finder> Finder или Spotlight, чтобы найти все, потому что они не открывают пакеты приложений или папку ~ / Library, которая невидима в Mountain Lion. Так что / usr / bin / find - это нормально, просто я все еще предпочитаю EasyFind.app, потому что его проще использовать.
Кейделл


0

Если Сервисы рабочего процесса генерируются системой, то она будет расположена в «/ Система / Библиотека / Сервисы».

Но если вы добавляете рабочий процесс (услуги) самостоятельно из Automator, он будет расположен в «/ Users / [ваше имя пользователя] / Library / Services».


0

Это скрытая папка: /Macintosh HD/Users/<username>/Library/Services. Лучший способ получить это - либо создать новый сервис в automator и сохранить его и выполнить следующие действия, либо, если он уже создан, выполнить следующие действия:

  • Откройте «Системные настройки»> «Клавиатура» и перейдите на вкладку «Ярлык».
  • Найдите сервис, который вы создали
  • Щелкните правой кнопкой мыши на сервисе и откройте в Finder.

Это покажет скрытую папку.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.