Ubicación de los servicios creados en Automator.

19

Hace mucho tiempo creé un servicio en Automator, que aún funciona. Pero quiero cambiar el código y no se encuentra en / Library / Services / ni ~ / Library / Services / ya que ambos están vacíos

¿He perdido el código fuente o puedo restaurarlo de otra manera?

Tyilo
fuente
1
Extraño ... ~/Library/Services/es la ubicación predeterminada para los nuevos servicios creados en Automator, y acabo de confirmarlo creando un nuevo servicio.
Austin

Respuestas:

19

Como otros han dicho, los servicios están normalmente en una de las carpetas Biblioteca / Servicios (~ / Biblioteca / Servicios, / Biblioteca / Servicios y / Sistema / Biblioteca / Servicios). Si solo mirar allí no aparece, otra opción es espiar qué archivos se están abriendo cuando invocas el servicio, con algo como:

sudo opensnoop -n WorkflowService

... y luego ejecutando el servicio, y mirando los resultados para ver si puede detectar el archivo relevante. Si no es un servicio basado en Automator, puede que tenga que dejar fuera de la -n WorkflowService(a pesar de que tendrá una gran cantidad de archivos más irrelevantes para ordenar a través debido a que vamos a ver cada archivo de nada en todo el sistema operativo se abre).

Gordon Davisson
fuente
sudo opensnoop -n WorkflowServiceno mostró nada en absoluto y no pudo obtener nada razonable de solosudo opensnoop
Tyilo
1
@Tyilo: estoy bastante seguro de que eso significa que en realidad no es un servicio basado en Automator. ¿Podría ser proporcionado por una aplicación que haya instalado?
Gordon Davisson,
¡Usted tenía razón! Pensé que lo hice yo mismo ... ¡Muchas gracias!
Tyilo
1
He ganado 10 puntos de experiencia y golpeé +1 contra procesos opensnoop
defectuosos
10

La ubicación de los servicios creados por el usuario se encuentra en:

~/Library/Services/

(probado Mac OS X Mountain Lion 10.8.4)

otras ubicaciones que obtienes ingresando el siguiente comando en la Terminal:

mdfind .workflow
andilabs
fuente
sigue siendo el mismo en 10.9.5 y en caso de duda, el mdfind lo hace.
Ruskes
Esto fue para mí en El Capitán. Tenga en cuenta que /Users/<username>/Libraryes un directorio oculto o del sistema, por lo que deberá activar la configuración adecuada para mostrarlo en Finder.
Magnus W
2

¿Lo intentaste ~/Library/Workflows/?

Graham
fuente
Tampoco existe y también probé / Library / Workflows /
Tyilo
Aquí es precisamente donde encontré las secuencias de comandos automáticas mías creadas en Mavericks, pero ahora ejecutando Yosemite.
Duncan
1

Intente buscar .workflowen Spotlight para encontrar todos los archivos de flujo de trabajo en su carpeta de usuario. Se llamará al servicio Whatever the Service Name Is in the Services Menu.workflow.

Si prefiere la Terminal, este comando hará lo mismo, buscando el directorio actual y todas las carpetas debajo de él:

find ./ -name "*.workflow"

EDITAR: se corrigió un pequeño error en el comando Terminal. Aparentemente -type fno funciona en .workflowarchivos.

Austin
fuente
No hubo resultados en Spotlight y el comando del terminal no mostró resultados: 'tyilos-macbook: ~ Tyilo $ cd / tyilos-macbook: / Tyilo $ sudo find ./ -type f -name "* .workflow" Contraseña: find: .// dev / fd / 3: No es un directorio encontrar: .//dev/fd/4: No es un directorio '
Tyilo
@Tyilo Lo siento, hubo un error tipográfico en el comando Terminal que corrigí. Inténtelo de nuevo, y si no encuentra nada en su directorio de inicio ( ~), intente ejecutarlo desde el directorio raíz del sistema (es decir, ingrese cd /antes de ejecutar el comando find). Esto llevará un tiempo, así que prepárate para ser paciente.
Austin
@Tyilo Y, por supuesto, puede buscar la carpeta raíz en la GUI abriendo Macintosh HDen Finder y escribiendo .workflowen el cuadro de búsqueda. (Marque la File Nameopción en lugar de Contentsuna búsqueda más rápida). La única desventaja de esto es que no buscará en carpetas ocultas o del sistema, pero probablemente no lo necesite de todos modos.
Austin
@Austin Mi archivo no estaba entre los archivos usando cd /y sudo find ./ -name "*.workflow" > ~/Desktop/services.txt. Encontré otras dos carpetas que también podrían ser una posible ubicación, pero no contenían el archivo. Las ubicaciones fueron /Library/Application Support/Apple/Automator/Workflows/y /System/Library/Services/. He subido el archivo aquí: cl.ly/6i1t
Tyilo
@Austin también intentó con sudo find ./ -name "*" > ~/Desktop/all.txty todavía no coincide
Tyilo
1

Editado para agregar

Definitivamente, se supone que los servicios de Automator se almacenan ~/Library/Services, según mi Google. Acabo de crear un nuevo servicio en Automator y lo colocó allí.


Quizás ~/Library/Application Support/Automator/

Alternativamente, la última vez que realicé un servicio, creo que tuve que guardarlo por .appprimera vez, para que pueda buscar aplicaciones.

Matthew Frederick
fuente
La carpeta / Library / Application Support / Automator / no existía, pero ~ / Library / Application Support / Automator / sí estaba y estaba vacía -.- '
Tyilo
@Tyilo Lo siento, a eso me refería. Se arregló mi respuesta, incluso si está mal. :)
Matthew Frederick
@Matthew Frederick Encontró todos los archivos de la aplicación utilizando el comando @Austin, y ninguno de ellos coincidía con el título de mi servicio
Tyilo
@Tyilo Acabo de revisar mi sistema y me di cuenta de que había creado una aplicación AppleScript que luego usé Automator para convertirla en un servicio, de ahí mi sugerencia .app. Como resultado, existían archivos .app y .scpt para ello. A menos que haya hecho lo mismo, mi sugerencia no es de ayuda.
Matthew Frederick
@Matthew Frederick No tengo el archivo .scpt: s, pero el archivo del servicio debe estar en algún lugar, de lo contrario no funcionaría
Tyilo
1

La mejor manera que conozco para encontrar flujos de trabajo o cualquier otra cosa es usar la aplicación: "EasyFind.app". A diferencia del Finder y Spotlight e incluso la línea de comandos de Unix, EasyFind.app se puede configurar para buscar en todas partes, y tiene una capacidad de coincidencia de patrones de estilo Unix. Por ejemplo, "* .workflow" se puede utilizar para buscar cualquier Servicio en todo su disco duro.

Lo mejor de todo es que EasyFind.app es gratuito y legal.

EasyFind.app

Configurar EasyFind.app para buscar cualquier flujo de trabajo de Automator (incluidos los servicios)

EN LUGAR de usar programas adicionales, puede ejecutar su Terminal e ingresar el comando:

mdfind .workflow
Kaydell
fuente
¿Puedes explicar dónde EasyFind puede encontrar cosas pero /usr/bin/findno lo es?
nohillside
@patrix He estado mirando / usr / bin / find nuevamente. Creo que funcionará, es solo que EasyFind.app es más fácil de usar.
Kaydell
1
@patrix: El siguiente comando funciona bien para mí: find ~ -name " .workflow" mejor que find ./ -name " .workflow" que solo busca en el directorio actual. Desde la línea de comandos, es realmente / usr / bin / localizar que no confío. Es más rápido, pero los archivos deben indexarse ​​antes de poder encontrarlos. Además, no confío en Finder> Finder ni Spotlight para encontrar todo porque no abren paquetes de aplicaciones o la carpeta ~ / Library que no es invisible en Mountain Lion. Entonces / usr / bin / find está bien, es solo eso para mí, todavía prefiero EasyFind.app porque es más fácil de usar.
Kaydell
0

Si el sistema genera los Servicios de flujo de trabajo, se ubicará en "/ Sistema / Biblioteca / Servicios".

Pero si su flujo de trabajo (servicios) agregado por usted mismo desde Automator, se ubicará en "/ Usuarios / [su nombre de usuario] / Biblioteca / Servicios".

Albert
fuente
0

Es una carpeta oculta: /Macintosh HD/Users/<username>/Library/Services. La mejor manera de llegar es crear un nuevo servicio en el automatizador y guardarlo y seguir los pasos a continuación, o si ya ha creado uno, siga estos pasos:

  • Abra Preferencias del sistema> Teclado y haga clic en la pestaña Acceso directo.
  • Encuentra el servicio que creaste
  • Haga clic derecho en el servicio y Abrir en Finder.

Revelará la carpeta oculta.

Rachit
fuente