Come faccio a fare in modo che l'automatore esegua un'operazione su un solo file alla volta?

1

Ho con 'Folder Action' che esegue automaticamente uno script di Photoshop su ogni file che viene aggiunto alla cartella.

L'azione della cartella ha due passaggi:

  1. Apri questo file con Adobe Photoshop CC

  2. Esegui il seguente AppleScript:

    on run {input, parameters}
    
        tell application "Adobe Photoshop CC"
            do action "frame for print" from "Zak's actions"
        end tell
    
        return input
    end run
    

Questa azione della cartella funziona correttamente quando alla cartella viene aggiunto solo un elemento alla volta, ma se vengono aggiunti più oggetti, l'azione della cartella si attiva su ciascuno dei nuovi file quasi istantaneamente in modo che si aprano tutti in Photoshop ma l'azione di Photoshop gira solo sul file aperto più di recente. (Suppongo che sia perché ogni volta che l'azione di Photoshop viene avviata interrompe l'esecuzione dell'istanza precedente)

Ho provato ad aggiungere una pausa dopo che l'AppleScript sperava che Automator stesse pensando che l'azione della cartella fosse stata eseguita dopo che AppleScript si era attivato senza attendere che finisse, ma anche con la pausa l'azione della cartella è stata attivata per tutti i nuovi file sul stessa ora.

C'è un modo per assicurarmi che l'azione della mia cartella venga eseguita solo su un file alla volta e attende l'esecuzione di AppleScript prima di passare al file successivo?

    
posta Zak 10.07.2014 - 09:34
fonte

1 risposta

1

Puoi fare questo modo multiplo, uno è usare il applescript per fare un ciclo 'for each'.

Prendi questo snippet di codice applescript come esempio e risolvilo da lì.

on adding folder items to this_folder after receiving these_items
   repeat with an_item in these_items
       tell application "Adobe Photoshop CC"
           activate
           open an_item
           do action "frame for print" from "Zak's actions"
       end tell
   end repeat
end adding folder items to
    
risposta data 10.07.2014 - 09:53
fonte

Leggi altre domande sui tag