0 votos

Cambiar la ruta del archivo antes de ejecutar un comando en automator

He creado un servicio en automator para abrir un archivo a través de quicklook, utilizando el siguiente código

qlmanage -p "$@"

Puedo abrir el archivo seleccionado a través de quicklook. Pero quiero abrir un archivo diferente ubicado en otro directorio mientras selecciono un archivo con el mismo nombre.

Screenshot of automator

En la captura de pantalla verás que la ruta del archivo seleccionado es /Users/kingamada/kut.stl

Quiero cambiar la ruta antes del qlmanage -p "$@" para que incluso al seleccionar kut.stl en una carpeta diferente, es kut.stl en el directorio especificado que se pasará a qlmanage -p "$@" .

1voto

Jerry Stratton Puntos 126

La ruta proporcionada para "ejecutar el shell script" es literalmente sólo el texto de la ruta. Esto significa que puede modificarla utilizando las herramientas estándar de manipulación de texto de su lenguaje de scripting.

Probablemente lo haría de dos maneras:

  1. Sólo hay que modificar la ruta del archivo en el mismo paso en que se ejecuta quicklook. Esto tiene la ventaja de mantener todo junto en un solo paso fácilmente visible.
  2. O bien, modifique la ruta del archivo en un paso separado de "ejecutar shell script". Esto tiene la ventaja de mantener cada paso por separado, lo que a su vez tiene la ventaja de permitir diferentes herramientas para cada paso.

En bash, puedes obtener el nombre del archivo a partir de una ruta de acceso usando $(basename $variable) . Por ejemplo:

$trueDirectory = "/Users/kingamada"
$filename = $(basename "$@")
qlmanage -p "$trueDirectory/$filename"

Si elige hacer esto en dos pasos, digamos, un Perl script para modificar la ruta del archivo primero, y luego su Bash script para abrir quicklook, sólo la salida de la ruta del archivo modificado a la salida estándar.

use File::Basename;
$trueDirectory = "/Users/kingamada";
$chosenPath = shift;
$filename = basename($chosenPath)
print "$trueDirectory/$filename";

Si necesita hacer un seguimiento de múltiples variables a través de su automatización, eche un vistazo a la acción "Establecer valor de la variable".

Si necesitas pedirle al usuario varias cosas, mira la acción "Ejecutar AppleScript" así como las diversas acciones de interacción con el usuario.

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