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?


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).


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

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/?


— 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.


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.


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

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”.


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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.