2 votos

Automator: utilizar filepath / filename en AppleScript

En una aplicación de automatización, hay un Copiar en el portapapeles y un Ejecutar Apple script . Si asigno esta aplicación a una determinada extensión de archivo, haciendo doble clic en el Finder, el Copiar en el portapapeles obtiene el nombre del archivo correctamente, pero ¿cómo utilizo el nombre del archivo y/o la carpeta del archivo en la sección apple script debajo de eso? Ambos $1 y $@ parecen estar vacías.

Actualización:

He aquí una nueva formulación de mi pregunta: Sólo necesito el nombre del archivo dentro de la Apple script. Esto debería ser pasado al bloque por Finder, pero ¿cómo puedo acceder a él?

enter image description here

En la imagen anterior, necesito reemplazar XXXXXX con una variable que me permita usar el nombre de archivo pasado dentro del AppleScript.

3voto

xaratustra Puntos 111

Gracias por la pista. Aquí está la solución final con la explicación:

Al hacer doble clic en Finder, el input contendrá el alias del archivo y no su ruta completa + nombre. La clave es convertirlo usando

set fileName to (the POSIX path of input)

Esta nueva cadena, puede ser utilizada en la sección de AppleScript, pero necesita ser concatenada utilizando & con otras cadenas.

Así, por ejemplo, puede cd cambiar de directorio al directorio que contiene el archivo, así:

on run {input, parameters}
    set fileName to (the POSIX path of input)
    tell application "Terminal"
        activate
        do script with command "cd $(dirname " & fileName & ")"
    end tell
end run

enter image description here

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