Localização dos serviços criados no Automator

19

Há muito tempo, criei um serviço no Automator, que ainda funciona. Mas eu quero alterar o código e ele não está localizado em / Library / Services / nem ~ / Library / Services /, pois ambos estão vazios

Perdi o código fonte ou posso restaurá-lo de outra forma?

Tyilo
fonte
11
Estranho ... ~/Library/Services/é o local padrão para novos serviços criados no Automator, e acabei de confirmar isso criando um novo serviço.
Austin

Respostas:

19

Como já foi dito, os serviços normalmente estão em uma das pastas Biblioteca / Serviços (~ / Biblioteca / Serviços, / Biblioteca / Serviços e / Sistema / Biblioteca / Serviços). Se apenas olhar para lá não aparecer, outra opção é espionar quais arquivos estão sendo abertos quando você invoca o serviço, com algo como:

sudo opensnoop -n WorkflowService

... e, em seguida, executando o serviço e examinando os resultados para ver se você consegue identificar o arquivo relevante. Se não for um serviço baseado no Automator, talvez você precise deixar o arquivo -n WorkflowService(embora você tenha muito mais arquivos irrelevantes para classificar, porque verá todos os arquivos que qualquer coisa no SO inteiro abrir).

Gordon Davisson
fonte
sudo opensnoop -n WorkflowServicenão mostraram nada e não poderia ficar fora razoável de apenassudo opensnoop
Tyilo
11
@ Tyilo: Eu tenho certeza que isso significa que não é realmente um serviço baseado no Automator. Pode ser fornecido por um aplicativo que você instalou?
Gordon Davisson
Você estava certo! Eu pensei que eu mesmo fiz ... Muito obrigado!
Tyilo 14/05
11
Eu ganhei 10 pontos de experiência e atingiu um contra processos de buggy ter aprendido agoraopensnoop
BaseZen
10

A localização dos serviços criados pelo usuário está em:

~/Library/Services/

(Mac OS X Mountain Lion 10.8.4 testado)

Em outros locais, digite o seguinte comando no Terminal:

mdfind .workflow
andilabs
fonte
continua o mesmo em 10.9.5 e quando em dúvida o mdfind faz isso.
Ruskes
Foi isso para mim no El Capitan. Observe que /Users/<username>/Libraryé um diretório oculto e / ou do sistema, portanto, você precisará ativar as configurações adequadas para exibi-lo no Finder.
Magnus W
2

Você tentou ~/Library/Workflows/?

Graham
fonte
Também não existe e também tentou / Library / Workflows /
Tyilo
Foi exatamente aqui que encontrei os meus scripts de automação criados no Mavericks, mas executando o Yosemite agora.
Duncan
1

Tente pesquisar .workflowno Spotlight para encontrar todos os arquivos de fluxo de trabalho na sua pasta de usuário. O serviço será chamado Whatever the Service Name Is in the Services Menu.workflow.

Se você preferir o Terminal, este comando fará o mesmo, pesquisando o diretório atual e todas as pastas abaixo dele:

find ./ -name "*.workflow"

EDIT: Corrigido um pequeno erro no comando Terminal. Aparentemente -type f, não funciona em .workflowarquivos.

Austin
fonte
Nenhum resultado no Spotlight e o comando terminal não mostraram resultados: 'tyilos-macbook: ~ Tyilo $ cd / tyilos-macbook: / Tyilo $ sudo find ./ -type f -name "* .workflow" Senha: find: .// dev / fd / 3: Não é um achado diretório: .//dev/fd/4: Não é um diretório'
Tyilo
@ Tyilo Desculpe, houve um erro de digitação no comando Terminal que eu corrigi. Tente novamente e, se não encontrar nada no diretório inicial ( ~), tente executá-lo no diretório raiz do sistema (por exemplo, digite cd /antes de executar o comando find). Isso vai demorar um pouco, então esteja preparado para ser paciente.
Austin
@Tyilo E, é claro, você pode pesquisar a pasta raiz na GUI abrindo Macintosh HDno Finder e digitando .workflowna caixa de pesquisa. (Marque a File Nameopção em vez de fazer Contentsuma pesquisa mais rápida.) A única desvantagem disso é que ela não pesquisará em pastas ocultas ou do sistema, mas você provavelmente não precisará disso.
Austin
@ Austin Meu arquivo não estava entre os arquivos usando cd /e sudo find ./ -name "*.workflow" > ~/Desktop/services.txt. Encontrei duas outras pastas que também poderiam ser um local possível, mas não continham o arquivo. Os locais eram /Library/Application Support/Apple/Automator/Workflows/e /System/Library/Services/. Fiz upload do arquivo aqui: cl.ly/6i1t
Tyilo 13/05
@Austin também tentou com sudo find ./ -name "*" > ~/Desktop/all.txte ainda não é páreo
Tyilo 13/05
1

Editado para adicionar

Definitivamente, os serviços de automação devem ser armazenados ~/Library/Services, com base no meu Google. Acabei de criar um novo serviço no Automator e ele foi colocado lá.


Possivelmente ~/Library/Application Support/Automator/

Como alternativa, quando eu fiz um serviço pela última vez, acredito que precisei salvá-lo como um .appprimeiro, para que você possa procurar aplicativos.

Matthew Frederick
fonte
A pasta / Library / Application Support / Automator / não existia, mas ~ / Library / Application Support / Automator / existia e estava vazia -.- '
Tyilo
@ Tyilo Desculpe, foi isso que eu quis dizer. Corrigida minha resposta, mesmo que esteja errada. :)
Matthew Frederick
@Matthew Frederick Encontrado todos os arquivos de aplicativos usando o comando @Austin, e nenhum deles correspondeu meu título serviço
Tyilo
@ Tyilo Acabei de verificar meu sistema e percebi que havia criado um aplicativo AppleScript que, em seguida, usei o Automator para se transformar em um serviço, daí a minha sugestão .app. Como resultado, os arquivos .app e .scpt existiam para ele. A menos que você tenha feito o mesmo, minha sugestão não ajuda.
Matthew Frederick
@Matthew Frederick não tem o arquivo .scpt de: s, mas o arquivo de serviço coisinha deve estar em algum lugar, então ele não iria funcionar
Tyilo
1

A melhor maneira que eu conheço para encontrar fluxos de trabalho ou qualquer outra coisa é usar o aplicativo: "EasyFind.app". Diferentemente do Finder, do Spotlight e até da linha de comando do Unix, o EasyFind.app pode ser configurado para pesquisar em qualquer lugar e possui um recurso de correspondência de padrões no estilo Unix. Por exemplo, "* .workflow" pode ser usado para encontrar qualquer serviço em todo o seu disco rígido.

O melhor de tudo EasyFind.app é gratuito e legal.

EasyFind.app

Configurando o EasyFind.app para localizar qualquer fluxo de trabalho do Automator (incluindo serviços)

Em vez de usar programas extras, você pode executar o seu Terminal e inserir o comando:

mdfind .workflow
Kaydell
fonte
Você pode explicar onde o EasyFind consegue encontrar coisas, mas /usr/bin/findnão consegue?
nohillside
@patrix Estive olhando em / usr / bin / find novamente. Acredito que funcionará, mas EasyFind.app é mais fácil de usar.
Kaydell
11
@patrix: O comando a seguir funciona bem para mim: encontre ~ -name " .workflow" melhor que find ./ -name " .workflow", que apenas pesquisa o diretório atual. Na linha de comando, é realmente / usr / bin / localizar que eu não confio. É mais rápido, mas os arquivos precisam ser indexados antes de serem encontrados. Além disso, não confio no Finder> Finder nem no Spotlight para encontrar tudo, porque eles não abrem pacotes de aplicativos ou a pasta ~ / Library que não é invisível no Mountain Lion. Portanto, / usr / bin / find está OK, é apenas isso para mim, ainda prefiro o EasyFind.app porque é mais fácil de usar.
Kaydell
0

Se os Serviços do fluxo de trabalho forem gerados pelo sistema, ele estará localizado em "/ Sistema / Biblioteca / Serviços".

Mas se o fluxo de trabalho (serviços) adicionado por você pelo Automator, ele estará localizado em "/ Usuários / [seu nome de usuário] / Biblioteca / Serviços".

Albert
fonte
0

É uma pasta oculta: /Macintosh HD/Users/<username>/Library/Services. A melhor maneira de chegar lá é criar um novo serviço no automator, salvá-lo e seguir as etapas abaixo, ou se você já tiver criado, siga estas etapas:

  • Abra Preferências do Sistema> Teclado e clique na guia Atalho.
  • Encontre o serviço que você criou
  • Clique com o botão direito do mouse no serviço e abra no Finder.

Ele irá revelar a pasta oculta.

Rachit
fonte