AppleScript zeitgesteuert starten

jhsenator

Aktives Mitglied
Thread Starter
Dabei seit
18.02.2008
Beiträge
651
Reaktionspunkte
66
Ich habe folgendes Problem. Auf meinem MacBook Pro habe ich ein AppleScript eingerichtet, dass mir eine Datei von einem Netzwerk-Volume auf den Rchner kopiert. Jetzt suche ich eine Möglichkeit dieses Skript zu einer bestimmten Uhrzeit automatisch zu starten, allerdings nur dann wenn das Netzwerk-Volume verfügbar ist. Bin ich z.B. mit meinem MacBook auf reisen, dann soll nichts passieren.

Ich wäre für Tips wie ich diese Aufgabe in AppleScript lösen kann sehr dankbar.

Gruß
Juergen
 
Da gibt es verschiedene Möglichkeiten. Du könntest das über einen launchd-/cronjob machen oder einfach einen Kalendereintrag machen. Damit dein Skript nur ausgeführt wird, wenn du dich im richtigen Netzwerk befindest, könntest du den Netzwerknamen überprüfen:

Code:
[B]set [/B][COLOR=#4F8F00][FONT=Verdana]currentSSID [/FONT][/COLOR][B]to [/B][COLOR=#012FBE][FONT=Verdana][B]do shell script[/B][/FONT][/COLOR][FONT=Verdana] "airport --getinfo | grep -w 'SSID' | sed s/' *SSID: '//"[/FONT][FONT=Verdana]
[/FONT]
[FONT=Verdana][B]if[/B] [COLOR=#4f8f00]currentSSID[/COLOR] [B]is[/B] [B]in[/B] {"Zuhause1", "Zuhause2"} [B]then[/B][/FONT]
[FONT=Verdana]    [B]set[/B] [COLOR=#4f8f00]theIP[/COLOR] [B]to[/B] "192.168.2.100"[/FONT]
[FONT=Verdana][B]else[/B][/FONT]
[FONT=Verdana]    [B]if[/B] [COLOR=#4f8f00]currentSSID[/COLOR] [B]is[/B] [B]in[/B] {"Arbeit1", "Arbeit2"} [B]then[/B][/FONT]
[FONT=Verdana]        [B]set[/B] [COLOR=#4f8f00]theIP[/COLOR] [B]to[/B] "1.2.3.4"[/FONT]
[FONT=Verdana]    [B]else[/B][/FONT]
[FONT=Verdana]        [B]return[/B][/FONT]
[FONT=Verdana]    [B]end[/B] [B]if[/B][/FONT]
[B]end [/B][B]if[/B]
 
Hier noch mal der Code leserlich.
AppleScript:
set currentSSID to do shell script "airport --getinfo | grep -w 'SSID' | sed s/' *SSID: '//"
if currentSSID is in {"Zuhause1", "Zuhause2"} then
    set theIP to "192.168.2.100"
else
    if currentSSID is in {"Arbeit1", "Arbeit2"} then
        set theIP to "1.2.3.4"
    else
        return
    end if
end if
 
Zeitgesteuert starten geht am besten mit einem "Launch Agent" Die Entscheidung ob das Skript ausgeführt wird machst Du ganz oben im Skript selbst:
Code:
if (list disks) contains "yourDisk" then
mach den Murx
end if
 
Zurück
Oben Unten