Chiedi il testo, passa al terminale, in Automator

5

Sto cercando di creare un semplice servizio Automator per modificare rapidamente i metadati sulle foto. Vorrei poter selezionare x quantità di file, eseguire il servizio e ottenere un popup che richiede il numero f che desidero modificare:

Al momento questo è impostato per catturare i file selezionati nel Finder ed eseguire il seguente comando di terminale:

exiftool -FNumber="1.8" -overwrite_original_in_place "$@"

(exifeciunadomandapermodificareimetadati)

Questocomandofunziona,maFNumberèhardcodeda1.8.Mipiacerebbeessereingradodispecificaredinamicamenteilnumeroftramiteilcomando"Chiedi testo". Tuttavia, non so come posso chiedere il testo e utilizzare i file selezionati come input allo stesso tempo. Anyo

    
posta cybbe 19.02.2012 - 13:26
fonte

2 risposte

1

Se non sei particolarmente obbligato a utilizzare il comando "Chiedi testo" di Automator, puoi eseguire questa operazione:

Nel tuo servizio, l'elemento azione deve essere "Esegui AppleScript" anziché "Esegui script shell"

Usa questo AppleScript:

on run {input, parameters}
    set myvar to text returned of (display dialog "What F-stop do you want to set?" default answer "1.8")
    repeat with myitem in input
        set myscript to "exiftool -FNumber=\"" & myvar & "\" -overwrite_original_in_place \"" & (POSIX path of myitem) & "\""
        do shell script myscript
    end repeat
end run

    
risposta data 19.02.2012 - 14:49
fonte
1

Oh bene, stavo lavorando per fare la stessa cosa di @Daniel.

Ma stavo cercando di passare solo il comando exiftool una volta. Quindi ora hai una scelta: -).

  property ExifTool : "PathTo/exiftool -FNumber="
property ExifToolOption : "-FNumber="
on run {input, parameters}
    set pathList to ""
    repeat with i from 1 to count of items of input
        set this_item to item i of input
        set pathList to pathList & space & "\"" & (POSIX path of this_item) & "\"" as string

    end repeat
    display dialog "Enter FNumber" default answer "" buttons {"Cancel", "OK"} default button 2
    set fStop to text returned of the result
    set fStop to fStop as number
    do shell script ExifTool & space & ExifToolOption & fStop & space & "-overwrite_original_in_place" & space & pathList
end run
    
risposta data 19.02.2012 - 15:13
fonte

Leggi altre domande sui tag