Esecuzione di un droplet AS da Terminal

3

Ho un'applicazione Applescript Droplet che devo eseguire dal terminale. Posso usare osascript o anche solo open per aprire l'app AS, ma che eseguirà il suo on run handler, non il gestore di droplet on open che devo eseguire. Ho provato a passare il file "rilasciato" in ( osascript /Path/To/App.app /Path/To/Droppings.txt ), ma esegue ancora il on run gestore. C'è un modo per fare questo? E se non con bash, è possibile da un altro AppleScript? Grazie.

    
posta scohe001 29.08.2013 - 20:23
fonte

1 risposta

1

Puoi usare un altro AppleScript che dice a Finder di aprire i file con l'applicazione droplet.

Ad esempio, salva questo script come /Applications/droplet.app in AppleScript Editor:

on open a
    repeat with f in a
        say POSIX path of f
    end repeat
end open

Quindi esegui:

osascript -e 'on run {f}' -e 'tell app "Finder" to open POSIX file f as alias using POSIX file "/Applications/droplet.app"' -e end /bin/test

Per aprire più file, converti l'elenco di argomenti in un elenco di oggetti file:

osascript -e 'on run a
set l to {}
repeat with f in a
set l to l & POSIX file f
end
tell app "Finder" to open l using (POSIX file "/Applications/droplet.app")
end' ~/*

In alternativa, crea l'applicazione droplet con Automator invece di AppleScript Editor:

Esegui open -a droplet2 /bin/test .

Anche il gestore run viene utilizzato per i file rilasciati nell'applicazione. Un gestore chiamato open non ha alcun significato speciale.

Uno svantaggio di usare le applicazioni di Automator è che c'è un ritardo relativamente lungo prima che vengano eseguiti.

    
risposta data 30.08.2013 - 10:18
fonte

Leggi altre domande sui tag