Розташування служб, створених в Automator


19

Давним-давно я створив службу в Automator, яка все ще працює. Але я хочу змінити код, і він не розташований ні в / Бібліотека / Послуги / ні ~ / Бібліотека / Послуги /, оскільки вони обоє порожні

Чи втратив я вихідний код чи можу відновити його інакше?


1
Дивно ... ~/Library/Services/це місце за замовчуванням для нових служб, створених в Automator, і я щойно підтвердив це, створивши нову службу.
Остін

Відповіді:


19

Як уже говорили інші, служби зазвичай знаходяться в одній із папок Бібліотека / Послуги (~ / Бібліотека / Послуги, / Бібліотека / Послуги та / Система / Бібліотека / Послуги). Якщо просто дивлячись на це, не з’являється, інший варіант - шпигувати за тим, які файли відкриваються під час виклику служби, чимось на зразок:

sudo opensnoop -n WorkflowService

... а потім запустіть службу та перегляньте результати, щоб побачити, чи можете ви помітити відповідний файл. Якщо це не послуга, заснована на Автоматизаторі, можливо, вам доведеться залишити -n WorkflowService(хоча у вас буде набагато більше невідповідних файлів для сортування, тому що ви побачите кожен файл що-небудь у всій ОС відкриється).


sudo opensnoop -n WorkflowServiceвзагалі нічого не показав і не зміг вийти з sudo opensnoop
розуму

1
@Tyilo: Я майже впевнений, що це означає, що це насправді не послуга на базі Automator. Чи може це забезпечити встановлена ​​вами програма?
Гордон Девіссон

Ви були праві! Я думав, що зробив це сам ... Дуже дякую!
Тайло

1
Я набрав 10 очок досвіду і opensnoop
надійшов

10

Місце розташування створених користувачем послуг знаходиться під:

~/Library/Services/

(випробуваний Mac OS X Mountain Lion 10.8.4)

інші місця, які ви отримуєте, ввівши наступну команду в Терміналі:

mdfind .workflow

все ще те саме на 10.9.5, і коли сумніваються, mdfind це робить.
Рускес

Це було для мене на Ель-Капітані. Зауважте, що /Users/<username>/Libraryце прихований та / або системний каталог, тому вам потрібно буде активувати відповідні налаштування, щоб відобразити його у Finder.
Магнус Ш

2

Ви пробували ~/Library/Workflows/?


Не існує ні, і також спробували / Бібліотека / Робочі процеси /
Тайло

Саме тут я знайшов мої сценарії автоматизатора, створені на Mavericks, але зараз працює Yosemite.
Дункан

1

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

Якщо ви віддаєте перевагу терміналу, ця команда зробить те саме, шукаючи поточний каталог та всі папки під ним:

find ./ -name "*.workflow"

EDIT: виправлено невелику помилку в команді Terminal. Мабуть -type f, .workflowфайли не працюють .


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

@Tyilo Вибачте, в команді Terminal була помилка друку, яку я виправив. Спробуйте ще раз, і якщо він не знайде нічого у вашому домашньому каталозі ( ~), спробуйте запустити його з кореневого каталогу системи (тобто введіть 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
Тіїло

@Austin також спробував sudo find ./ -name "*" > ~/Desktop/all.txtі досі не відповідає матчу
Тайло

1

Відредаговано, щоб додати

Сервіси автоматики, безумовно, повинні зберігатися в ~/Library/Servicesмоїй службі Google. Я щойно створив нову послугу в Automator і її розмістив там.


Можливо, ~/Library/Application Support/Automator/

Крім того, коли я востаннє робив послугу, я вважаю, що мені довелося зберегти її як .appпершу, щоб ви могли шукати програми.


Папка / Бібліотека / Підтримка програм / Автоматизатор / папка не існувала, але ~ / Бібліотека / Підтримка додатків / Автоматизатор / зробила і порожня -.- '
Тиїло

@Tyilo Вибачте, це я мав на увазі. Виправили свою відповідь, навіть якщо вона неправильна. :)
Меттью Фредерік

@Matthew Frederick Знайшов усі файли програм за допомогою команди @Austin, і жоден з них не відповідав моєму сервісному заголовку
Tyilo

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

@Matthew Frederick Немає .scpt-файлу цього файлу: s, але файл служби повинен бути десь, інакше це не спрацює
Тайло

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 простіший у використанні.
Kaydell

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


0

Якщо Служби робочого процесу генеруються системою, вона розміщуватиметься в "/ Система / Бібліотека / Послуги".

Але якщо ви працюєте з автоматизатором, доданим вами робочим процесом (службами), він буде розташований у "/ Користувачі / [ваше ім'я користувача] / Бібліотека / Послуги".


0

Це прихована папка: /Macintosh HD/Users/<username>/Library/Services. Найкращий спосіб дістатися - створити нову послугу в автоматизаторі та зберегти її та виконувати кроки нижче, або якщо у вас є створений, вже виконайте наступні дії:

  • Відкрийте Налаштування системи> Клавіатура та натисніть вкладку Ярлик.
  • Знайдіть створену вами послугу
  • Клацніть правою кнопкою миші на сервісі та відкрийте в Finder.

Це відкриє приховану папку.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.