Lokalizacja usług utworzonych w Automatorze

19

Dawno temu stworzyłem usługę w Automatorze, która nadal działa. Ale chcę zmienić kod i nie znajduje się on w katalogu / Library / Services / nor ~ / Library / Services /, ponieważ oba są puste

Czy zgubiłem kod źródłowy lub czy mogę go przywrócić w inny sposób?

Tyilo
źródło
1
Dziwne ... ~/Library/Services/jest domyślną lokalizacją dla nowych usług tworzonych w Automatorze, a ja właśnie to potwierdziłem, tworząc nową usługę.
Austin

Odpowiedzi:

19

Jak powiedzieli inni, usługi zwykle znajdują się w jednym z folderów Biblioteka / Usługi (~ / Biblioteka / Usługi, / Biblioteka / Usługi i / System / Biblioteka / Usługi). Jeśli po prostu tam się nie wyświetla, inną opcją jest szpiegowanie plików otwieranych podczas wywoływania usługi, za pomocą czegoś takiego:

sudo opensnoop -n WorkflowService

... a następnie uruchom usługę i przejrzyj wyniki, aby sprawdzić, czy możesz znaleźć odpowiedni plik. Jeśli nie jest to usługa oparta na Automatorze, być może będziesz musiał zrezygnować z -n WorkflowService(chociaż będziesz mieć o wiele więcej niepotrzebnych plików do sortowania, ponieważ zobaczysz, że każdy plik otwiera się w całym systemie operacyjnym).

Gordon Davisson
źródło
sudo opensnoop -n WorkflowServicenic nie pokazał i nie mógł wyciągnąć żadnego rozsądnego powodusudo opensnoop
Tyilo
1
@Tyilo: Jestem pewien, że oznacza to, że tak naprawdę nie jest to usługa oparta na Automatorze. Czy może to być dostarczone przez zainstalowaną aplikację?
Gordon Davisson
Miałeś rację! Myślałem, że sam to zrobiłem ... Dziękuję bardzo!
Tyilo
1
opensnoop
Zdobyłem
10

Lokalizacja usług utworzonych przez użytkownika znajduje się w:

~/Library/Services/

(testowany Mac OS X Mountain Lion 10.8.4)

inne lokalizacje, które otrzymasz, wprowadzając następujące polecenie w terminalu:

mdfind .workflow
andilabs
źródło
wciąż tak samo jest w wersji 10.9.5 i w razie wątpliwości mdfind to robi.
Ruskes
To było dla mnie na El Capitan. Pamiętaj, że /Users/<username>/Libraryjest to ukryty i / lub systemowy katalog, więc musisz aktywować odpowiednie ustawienia, aby wyświetlić go w Finderze.
Magnus W
2

Próbowałeś ~/Library/Workflows/?

Graham
źródło
Też
Właśnie tam znalazłem moje, automatyzujące skrypty utworzone na Mavericks, ale teraz działające w Yosemite.
Duncan,
1

Spróbuj wyszukać .workfloww Spotlight, aby znaleźć wszystkie pliki przepływu pracy w folderze użytkownika. Usługa zostanie wywołana Whatever the Service Name Is in the Services Menu.workflow.

Jeśli wolisz terminal, to polecenie zrobi to samo, przeszukując bieżący katalog i wszystkie znajdujące się pod nim foldery:

find ./ -name "*.workflow"

EDYCJA: Poprawiono mały błąd w poleceniu Terminal. Najwyraźniej -type fnie działa na .workflowplikach.

Austin
źródło
Brak wyników w Spotlight, a polecenie terminalu nie pokazało żadnych wyników: 'tyilos-macbook: ~ Tyilo $ cd / tyilos-macbook: / Tyilo $ sudo find ./ -type f -name "* .workflow" Hasło: find: .// dev / fd / 3: Nie można znaleźć katalogu: .//dev/fd/4: Nie ma katalogu '
Tyilo
@Tyilo Przepraszamy, w poleceniu Terminal wystąpiła literówka, którą poprawiłem. Spróbuj ponownie, a jeśli nic nie znajdzie w twoim katalogu domowym ( ~), spróbuj uruchomić go z katalogu głównego systemu (tzn. Wpisz cd /przed uruchomieniem polecenia find). To potrwa chwilę, więc bądź przygotowany na cierpliwość.
Austin
@Tyilo I oczywiście możesz przeszukać folder główny w GUI, otwierając Macintosh HD w Finderze i wpisując .workfloww polu wyszukiwania. (Zaznacz File Nameopcję zamiast Contentsszybkiego wyszukiwania.) Jedyną wadą jest to, że nie będzie ona wyszukiwać w ukrytych lub systemowych folderach, ale prawdopodobnie i tak nie będziesz jej potrzebować.
Austin
@Austin Mój plik nie znajdował się między plikami za pomocą cd /i sudo find ./ -name "*.workflow" > ~/Desktop/services.txt. Znalazłem dwa inne foldery, które również mogą być możliwą lokalizacją, ale nie zawierały pliku. Lokalizacjami były /Library/Application Support/Apple/Automator/Workflows/i /System/Library/Services/. Przesłałem plik tutaj: cl.ly/6i1t
Tyilo
@Austin również próbował z sudo find ./ -name "*" > ~/Desktop/all.txti nadal nie ma meczu
Tyilo
1

Edytowano, aby dodać

Usługi Automatora zdecydowanie powinny być przechowywane ~/Library/Services, na podstawie mojego Googlinga. Właśnie utworzyłem nową usługę w Automatorze i tam ją umieściłem.


Być może ~/Library/Application Support/Automator/

Alternatywnie, kiedy ostatnio tworzyłem usługę, uważam, że musiałem ją .appnajpierw zapisać , abyś mógł szukać aplikacji.

Matthew Frederick
źródło
Folder / Library / Application Support / Automator / nie istniał, ale ~ / Library / Application Support / Automator / zrobił i był pusty -.- '
Tyilo
@Tyilo Przepraszamy, o to mi chodziło. Naprawiłem moją odpowiedź, nawet jeśli jest zła. :)
Matthew Frederick
@Matthew Frederick Znaleziono wszystkie pliki aplikacji za pomocą polecenia @Austin i żaden z nich nie pasował do mojego tytułu usługi
Tyilo
@Tyilo Właśnie sprawdziłem swój system i zdałem sobie sprawę, że stworzyłem aplikację AppleScript, którą następnie użyłem Automatora do przekształcenia się w usługę, stąd moja sugestia .app. W rezultacie istniały dla niego zarówno pliki .app, jak i .scpt. Jeśli nie zrobiłeś tego samego, moja sugestia nie jest pomocna.
Matthew Frederick
@Matthew Frederick Nie mam pliku .scpt: s, ale plik usługi musi być gdzieś, inaczej by nie działał
Tyilo
1

Najlepszym sposobem, jaki znam, aby znaleźć przepływy pracy lub cokolwiek innego, jest użycie aplikacji: „EasyFind.app”. W przeciwieństwie do Findera i Spotlight, a nawet wiersza poleceń systemu Unix, EasyFind.app można skonfigurować do wyszukiwania wszędzie i ma on funkcję dopasowywania wzorców w stylu uniksowym. Na przykład „* .workflow” może zostać użyty do znalezienia dowolnej usługi na całym dysku twardym.

Najlepsze ze wszystkich EasyFind.app jest bezpłatny i legalny.

EasyFind.app

Konfigurowanie EasyFind.app w celu znalezienia dowolnego przepływu pracy Automatora (w tym usług)

Zamiast korzystania z dodatkowych programów możesz uruchomić terminal i wprowadzić polecenie:

mdfind .workflow
Kaydell
źródło
Czy możesz wyjaśnić, gdzie EasyFind jest w stanie znaleźć rzeczy, ale /usr/bin/findnie jest?
nohillside
@patrix Znowu przeglądałem / usr / bin / find. Wierzę, że to zadziała, po prostu EasyFind.app jest łatwiejszy w użyciu.
Kaydell
1
@patrix: Następujące polecenie działa dla mnie OK: find ~ -name " .workflow" lepiej niż find ./ -name " .workflow", który przeszukuje tylko bieżący katalog. Z wiersza poleceń to tak naprawdę / usr / bin / locate, któremu nie ufam. Jest szybszy, ale pliki muszą zostać zindeksowane, aby można je było znaleźć. Ponadto nie ufam Finder> Finder ani Spotlight, aby znaleźć wszystko, ponieważ nie otwierają pakietów aplikacji ani folderu ~ / Library, który nie jest niewidoczny w Mountain Lion. Więc / usr / bin / find jest OK, po prostu dla mnie nadal wolę EasyFind.app, ponieważ jest łatwiejszy w użyciu.
Kaydell
0

Jeśli usługi przepływu pracy są generowane przez system, będą znajdować się w „/ System / Library / Services”.

Ale jeśli Twój przepływ pracy (usługi) dodany przez Ciebie od Automatora, będzie się znajdować w „/ Users / [twoja nazwa użytkownika] / Library / Services”.

Albert
źródło
0

Jest to ukryty folder: /Macintosh HD/Users/<username>/Library/Services. Najlepszym sposobem, aby się tam dostać, jest utworzenie nowej usługi w automatorze i zapisanie jej i wykonanie poniższych kroków, lub jeśli taka już istnieje, wykonaj następujące czynności:

  • Otwórz Preferencje systemowe> Klawiatura i kliknij kartę Skrót.
  • Znajdź utworzoną usługę
  • Kliknij usługę prawym przyciskiem myszy i otwórz w Finderze.

Ujawni ukryty folder.

Rachit
źródło