Ausführen eines AS-Droplets vom Terminal aus

Ich habe eine Applescript-Droplet-Anwendung, die ich vom Terminal ausführen muss. osascriptIch kann oder sogar nur verwenden open, um die AS-App zu öffnen, aber das führt ihren on runHandler aus, nicht den on openDroplet-Handler, den ich ausführen muss. Ich habe versucht, die "gedroppte" Datei in ( osascript /Path/To/App.app /Path/To/Droppings.txt) zu übergeben, aber der on runHandler wird immer noch ausgeführt. Gibt es eine Möglichkeit, dies zu tun? Und wenn nicht mit Bash, ist es von einem anderen AppleScript aus möglich? Danke.

Was versuchst du mit dem Droplet zu erreichen? Was ist der Arbeitsablauf?
Ich verwende Automator nicht, es gibt keinen Workflow. Ich habe zwei AS-Droplet-Apps. Ich habe versucht, den ersten zu verwenden, um den zweiten aufzurufen (ich speichere Aliase voneinander in den App-Bundles), aber AS reagiert, da sich die App in sich selbst befindet, also habe ich auf die Verwendung von Bash zurückgegriffen. Die Idee ist, wenn der Kot charakteristisch ist x, geben Sie ihn an den Alias ​​der anderen App weiter. Macht das Sinn?
@adayzdone huh, ich wusste nicht einmal, dass es das gibt. Es ist eigentlich eine Frage zu Stack Overflow, die mich neugierig macht ( stackoverflow.com/questions/18517313/… )

Antworten (1)

Sie können ein anderes AppleScript verwenden, das den Finder anweist, Dateien mit der Droplet-Anwendung zu öffnen.

Speichern Sie dieses Skript beispielsweise wie /Applications/droplet.appim AppleScript Editor:

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

Dann renne:

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

Um mehrere Dateien zu öffnen, konvertieren Sie die Liste der Argumente in eine Liste von Dateiobjekten:

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' ~/*

Alternativ können Sie die Droplet-Anwendung mit Automator anstelle von AppleScript Editor erstellen:

Dann laufen open -a droplet2 /bin/test.

Der runHandler wird auch für Dateien verwendet, die in der Anwendung abgelegt werden. Ein Handler mit dem Namen openhat keine besondere Bedeutung.

Ein Nachteil der Verwendung von Automator-Anwendungen besteht darin, dass es eine relativ lange Verzögerung gibt, bevor sie ausgeführt werden.

Ah natürlich. Ich verbrachte die ganze Zeit damit, die Datei als Parameter zu übergeben, während ich die Anwendung öffnete, obwohl ich nur die Datei mit der Anwendung öffnen musste . Blöd von mir. Danke für die Hilfe!