¿Cómo puedo hacer que un servicio de Automator ejecute una Terminal y muestre la salida?

0

Estoy usando Automator para ejecutar un script de shell (Rar archivos seleccionados) como un 'Servicio', de modo que puedo hacer clic derecho en una carpeta y seleccionar el servicio. Funciona bien, pero he agregado verbos y pruebas (para ver el progreso y los resultados de las pruebas), así que necesito ver la salida de la ventana de la Terminal para asegurarme de que el archivo está bien. ¿Hay alguna manera de ver la salida en tiempo real? ¿O dar un paso extra para hacer eco de los resultados?

aquí está el script que funciona en automator pero la salida es silenciosa.

on run {input, parameters}
set nbFiles to count input

if nbFiles = 0 then
    display dialog "No files selected!" buttons {"OK"} default button 1
    return
end if

tell application "Finder"

    set archiveDir to (container of (item 1 of input) as string)
    if nbFiles = 1 then
        set archiveName to (name of (item 1 of input) as string)
    else
        set archiveName to "archive"
    end if

    if exists file (archiveDir & archiveName & ".rar") then
        set i to 2
        repeat while exists file (archiveDir & archiveName & "-" & i & ".rar")
            set i to i + 1
        end repeat
        set archiveName to archiveName & "-" & i
    end if

    set archiveDir to quoted form of POSIX path of archiveDir
    set archiveName to quoted form of (archiveName & ".rar")

    set listFiles to " "
    repeat with i in input
        set listFiles to listFiles & quoted form of ("." & POSIX path of (name of i as string)) & " "
    end repeat

end tell

do shell script "cd " & archiveDir & "; rar a -ol[a] -mt8 -m5- -y -s -m4 -t " & archiveName & listFiles

return input
end run

GRACIAS !!

    
pregunta phattydee 24.01.2018 - 15:04

1 respuesta

1

Cambie la siguiente línea de código :

do shell script "cd " & archiveDir & "; rar a -ol[a] -mt8 -m5- -y -s -m4 -t " & archiveName & listFiles

Para:

tell application "Terminal"
    do script "cd " & archiveDir & "; rar a -ol[a] -mt8 -m5- -y -s -m4 -t " & archiveName & listFiles   
end tell
    
respondido por el user3439894 24.01.2018 - 15:22

Lea otras preguntas en las etiquetas