Script mit Ja/Nein-Dialog zum Auswerfen

msg

msg

Aktives Mitglied
Thread Starter
Dabei seit
31.07.2005
Beiträge
1.975
Reaktionspunkte
32
Hallo!

ich möchte eines meiner Hazel-Automationen mit einer Anfrage beenden, ob das betreffende Volume ausgeworfen werden soll ...
Hab mir (als Laie) aus dem Netz ne Vorlage kopiert, aber ich fürchte da fehlt was Wichtiges, denn es kommt ne Fehlermeldung:

Code:
tell application "Finder"
    set theDialogText to "MZ-32 auswerfen?"
    display dialog theDialogText
    --> Result: {button returned:"OK"}
    eject ("MZ-32")
end tell

MZ-32 ist der gemostete Massenspeicher (ne RC-Funke). Ich will am Ende aller Kopier-Maßnahmen die Frage gestellt bekommen, ob Hazel das Volume auswerfen soll.
Ich würde mich freuen, wenn mir wer den Hinweis gibt, was da nicht richtig läuft...

Danke euch!!!
Liebe Grüße, Sandro
 
  • Haha
Reaktionen: mausfang
Du musst schon result abfragen und behandeln.
Sonst wäre der Dialog ja egal und der wirft immer aus.
eject disk "MZ-32"
 
  • Gefällt mir
Reaktionen: msg und wegus
oje, ich kenn mich mit Skripten gar nicht aus - "Result abfragen" müsste ich erst googeln
Hab "disk" jetzt eingefügt, und im Prinzip rennt das Skript jetzt und wirft bei "Ja" die MZ-32 aus. Der Skripeditor sagt allerdings im Protokollfeld einen Fehler, ich denke, das ist die fehlende wenn-dann-Geschichte, oder? ...
 
Ich würde mich freuen, wenn mir jemand unter euch bei dem Detail weiterhilft, wo es um das "result abfragen" geht...
Unten angezeigtes Skript wirft zwar die Funke aus, aber bei "Cancel" kommt ne Fehlermeldung. Genua genommen kommt auch beim Auswerfen eine, denn angeblich würde der Finder auf den Massenspeicher zugreifen, was ich allerdings weder durch ein geöffnetes Fenster sehe noch durch sonst irgendeinen Prozess, aber ich kann nicht unter die Motorhaube von macOS schauen... diese lässt sich aber wegklicken

Code:
tell application "Finder"
    set theDialogText to "MZ-32 auswerfen?"
    display dialog theDialogText
    --> Result: {button returned:"OK"}
    eject disk ("MZ-32")
end tell

Es wäre super, wenn ihr mir helfen würdet, das Skript zu vollenden! :)
Danke im Voraus und liebe Grüße
Sandro
 
Such doch im Forum nach button returned, da findest du X Scripte und wie man das macht.
 
  • Gefällt mir
Reaktionen: msg
Code:
display alert "This is an alert" buttons {"No", "Yes"}
if button returned of result = "No" then
     display alert "No was clicked"
else
    if button returned of result = "Yes" then
         display alert "Yes was clicked"
    end if
end if
 
...

Code:
tell application "Finder"
    set theDialogText to "MZ-32 auswerfen?"
    display dialog theDialogText
    --> Result: {button returned:"OK"}
    eject disk ("MZ-32")
end tell
...
ne... gar nicht.
Code:
if button returned of (display dialog "MZ-32 auswerfen?" with icon 2 with title "Eject MZ-32") = "OK" then
    tell application "Finder"
        try
            eject disk "MZ-32"
        on error erstrg
            display alert erstrg
        end try
    end tell
end if
 
Zuletzt bearbeitet:
auf den Code von dir, Atalanta, bekomm ich von Hazel eine Fehlermeldung!
Und zwar, wenn ich auf Abbrechen geh
 
Zuletzt bearbeitet:
Hab es mit Macschraubers Methode versucht:
Code:
display alert "MZ-32 auswerfen?" buttons {"No", "Yes"}
if button returned of result = "No" then
    display alert "No was clicked"
else
    if button returned of result = "Yes" then
        eject("{NamedesLaufwerks}")
    end if
end if

leider auch Fehlermeldung von Hazel!
Applescript spuckt auch Fehler aus: «script» versteht die Nachricht „eject“ nicht.
 
sodala, hier ist es!
Code:
display alert "MZ-32 auswerfen?" buttons {"Nein", "Ja"}
if button returned of result = "Nein" then
    display alert "Abbruch"
else
    if button returned of result = "Ja" then
        display alert "Jawoll!"
        tell application "Finder" to eject disk "MZ-32"
    end if
end if
 
Zurück
Oben Unten