¿Cómo puedo hacer que Automator solicite al usuario un directorio de destino?

4

¿Cómo puedo hacer que el script genere el archivo codificado en un directorio definido por el usuario?

Estoy tratando de construir un codificador interno de archivos multimedia basado en Automator y ffmpeg.

Quiero que los archivos de origen se coloquen en el icono de la aplicación y luego pregunte al usuario dónde enviar los archivos codificados.

Hasta ahora tengo una aplicación Automator donde coloco archivos en ella y ejecuta este AppleScript:

    on run {input, parameters}

    tell application "Terminal"
        activate
        set filesString to ""
        repeat with file_ in input
            set filesString to filesString & " " & quoted form of (POSIX path of file_)
        end repeat
        do script "for f in" & filesString & "; do

ffmpeg -i \"$f\" -c:v copy -an ${f%.*}_264.mp4

done"
    end tell
    return input
end run

Actualmente, la aplicación genera el archivo codificado en el mismo directorio que el archivo de entrada.

¿Cómo puedo hacer que Automator solicite al usuario y use un directorio de destino?

o_ren
fuente
¿Cuál es tu pregunta?
CousinCocaine
Creo que deberías tener tu pregunta reflejada en el Título también. ¡Buena suerte!
myhd

Respuestas:

5

Automator - 'Pedir artículos del buscador'

Probablemente deberías querer limpiar tu código. Ahora estas usando y AppleScript y Automatizador y GOLPETAZO.

De todos modos, en Automator puede solicitar una ubicación, almacenar esa variable y usarla más adelante en su script de Shell. Puede "apilar" las variables en una matriz concatenando 'Obtener valor de variable'.

Código de ejemplo y captura de pantalla:

# all input arguments
echo "${@}"

# The 'Output location' is the first in the stack
echo "Output folder location: ""$1"

# Loop through the remaining arguments
for f in "${@:2}"
do
    echo "Video file:""$f"
done

automator example

CousinCocaine
fuente
En tu ejemplo, cómo iría este comando: ffmpeg -i var1 -c: v copia -an var2 . ¿Cómo pasaría estas dos variables?
o_ren
Puedes 'apilar' las variables en una 'matriz'. He actualizado mi ejemplo.
CousinCocaine
Gracias @CousinCocaine. Ajusté tu ejemplo a mis necesidades y seguro que obtuve una muy buena lección.
o_ren