3 votos

Automator: Servicio para listar las rutas de archivos de los elementos seleccionados, en un archivo de texto

¿Cómo se puede crear este servicio Automator para Finder?

  • Me gustaría poder utilizar el menú contextual del Finder (haciendo clic con el botón derecho en un elemento del Finder) para ejecutar un servicio que obtenga las rutas de los archivos seleccionados.
  • Las rutas deben introducirse en un archivo de texto (que puede no guardarse o guardarse en la carpeta actual).

Además:

  • I actualmente sólo tiene que ser capaz de obtener las rutas de varios archivos seleccionados - pero no las rutas del contenido de las subcarpetas, etc. Espero que esto sirva para no complicar demasiado las cosas.

  • Preferiría que los nombres de los archivos no tuvieran espacios de escape ( "Like\ This" ), sino espacios normales - pero si hay un ajuste para eso, me gustaría cómo alterar entre los modos dentro del script.

4 votos

Puede obtener los nombres de ruta en el Finder después de seleccionar los elementos, hacer clic con el botón derecho del ratón y pulsar la tecla de opción. Copiar n elementos cambia a: Copiar n elementos como nombres de ruta

0 votos

@user3439894 Vaya, no tenía ni idea, ¡gracias! Supongo que no puedo aceptarlo como respuesta, ya que es la respuesta correcta a la pregunta equivocada. Pero esta es la solución que estaba buscando.

4voto

aaplmath Puntos 599

Si buscas algo que sea más "puro Automator", aquí tienes una opción (aunque, como se ha mencionado en los comentarios, haciendo clic con el botón derecho en los elementos del Finder, manteniendo option y seleccionando Copy Items as Pathnames es probablemente la solución más fácil):

  • Acepta files or folders en Finder
  • Establecer el valor de la variable Inputs
  • Ejecutar Shell script: /usr/bin/dirname "$1" (asegúrese de pasar la entrada as arguments )
  • Establecer el valor de la variable Parent Folder
  • Obtener el valor de la variable Inputs < esto debería no aceptar la entrada (hacer clic con el botón derecho del ratón en la acción y seleccionar Ignore Input )
  • Nuevo archivo de texto ( Plain text , [cualquier nombre de archivo que desee], Parent Folder (arrastrar esto desde la lista de variables))

He incluido una captura de pantalla a continuación:

Screenshot of Service

0 votos

+1 Como el uso de Automator puro. Yo mismo no soy demasiado bueno en Automator puro

3voto

Buscar웃 Puntos 23467

No se necesita ningún script, ya que éste ya está incorporado en Finder (funciona para uno o varios archivos):

  • Haga clic con el botón derecho del ratón en el archivo(s) en el Finder

  • Mantenga pulsado option

  • Seleccione Copy [file name] as Pathname (o Copy [#] Items as Pathnames para varios archivos) en el menú contextual

  • Los nombres de las rutas se guardan ahora en el portapapeles. Puede pegarlos en Notes o en un archivo de texto

2 votos

Además de un trabajo manual trivial que no necesita scripting

0 votos

-1 El OP es nuevo en Automator. Proporcionar una alternativa de scripting le permitiría aprender. Esta solución, si bien es correcta, no responde por completo a la pregunta del usuario.

1voto

Pirooz Puntos 486

Suponiendo que sepa cómo crear guardar y utilizar un elemento de menú de servicio...

! enter image description here

script

on run {input, parameters}
    set myExport to ""
    repeat with x in input
        set myExport to myExport & the POSIX path of x & return
    end repeat
    tell application "Finder" to set myPath to (POSIX path of (get (container of (first item of input)) as text))
    do shell script "echo " & the quoted form of myExport & " > " & the quoted form of (myPath & "/file_list.txt")
end run

0 votos

@user3439894 Finder envía los archivos a la entrada

0 votos

@user3439894 Oh, ya veo. Sí, es correcto.

1 votos

Cambie la penúltima línea por tell application "Finder" to set myPath to (POSIX path of (get (container of (first item of input)) as text)) y la última línea a do shell script "echo " & the quoted form of myExport & " > " & the quoted form of (myPath & "/file_list.txt") y funcionará si el primer elemento no es un directorio. N.B.: Probablemente hay una manera más limpia de lograr esto.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X