5 votos

Pasar una variable (ruta de la carpeta) a AppleScript en Automator

Estoy tratando de pasar una variable que se ha establecido en Automator a un AppleScript dentro de Automator. Mi flujo de trabajo en Automator es el siguiente:

Pedir elementos del Finder (sólo permitiendo el tipo de carpeta)

Fijar el valor de la variable (variable fijada en "chosenfolder")

Obtener el valor de la variable (carpeta elegida)

Ejecutar AppleScript

property odd : true -- set to false to get odd numbers

on run {input, parameters}

set thefolder to (input as text)

set TheNumber to (odd as integer)
tell application "Finder"
    set FileList to every file of thefolder
    repeat with oneFile in FileList
        set Ex to name extension of oneFile
        set NameString to text -4 thru -1 of ("000" & TheNumber) & "." & Ex
        set name of oneFile to NameString
        set TheNumber to TheNumber + 2
    end repeat
end tell

return input
end run

Esto devuelve el error:

Can’t get every file of "Macintosh SSD:Users:etc....

¿Alguien tiene alguna sugerencia de por qué la carpeta elegida en automator no puede ser aceptada en el AppleScript?

Nota: Entiendo que puedo usar simplemente "elegir carpeta" en el AppleScript en lugar de usar los elementos del flujo de trabajo de Automator, pero he truncado mi flujo de trabajo real sólo para mostrar esta parte. La variable es necesaria en otra parte del flujo de trabajo de Automator además de pasarla al AppleScript.

5voto

user3439894 Puntos 5883

Al utilizar on run {input, parameters} , input es un lista y, por lo tanto, tiene que cambiar la siguiente línea de su código :

set thefolder to (input as text)

Para:

set thefolder to (item 1 of input)

Eso arreglará el Can’t get every file of ... error.

Además, aunque no has indicado la configuración completa del Obtener el valor de la variable acción , asumiré que bajo Opciones ha comprobado el [√] Ignora la entrada de esta acción para desvincularla de la anterior Establecer el valor de la variable acción . En caso contrario, pasa el variable dos veces a la Ejecutar AppleScript acción ¡! Es decir, en este ejemplo flujo de trabajo que has presentado.

0 votos

¿Su respuesta también funcionaría aquí? apple.stackexchange.com/questions/146988/

0 votos

@bmike, Sin probar, no puedo decir ya que no he tenido la necesidad de ejecutar AppleScript y o Automator en una máquina remota, y no puedo probarlo hasta mañana. Ese hilo tiene ya 3 años, así que creo que es seguro esperar a mañana para averiguarlo.

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