Ich möchte ein Applescript ausführen, wenn ich eine bestimmte Festplatte mounte. Es spielt keine Rolle, ob sich das Skript auf der Festplatte befindet oder nicht, es sollte nur ausgeführt werden, wenn OS X die Festplatte bereitstellt.
Ich habe versucht, dies mit Ordneraktionen zu erreichen, aber es sieht so aus, als wäre dies nicht möglich.
Klärung:
Ich möchte Schritt 4 automatisieren.
Sie erwähnen nicht, in welchem Kontext Sie die Festplatte mounten, aber was ist, wenn Sie in die andere Richtung gehen und die Festplatte mit dem Applescript mounten?
Ich erwähne den Kontext, weil beim Mounten einer Festplatte mit Applescript der große Vorbehalt besteht, dass, wenn es sich um ein Netzwerkvolume handelt und das Netzwerk passwortgeschützt ist, der Benutzername und das Passwort für einen reibungslosen Ablauf als Klartext im Skript gespeichert werden müssten Hinrichtung.
UPDATE: Ein bisschen Suchen hat an anderer Stelle eine ähnliche Frage gefunden. Im Wesentlichen kann dazu ein Skript erstellt werden, indem das Skript als Ordneraktion auf /Volumes angewendet wird:
on adding folder items to this_folder after receiving these_items
repeat with aItem in these_items
tell application "Finder"
if (local volume of aItem) and (name of aItem is "[Name of Hard Drive]") then
-- do something with the drive
-- eject aItem
end if
end tell
end repeat
end adding folder items to
Die wahrscheinlich robusteste Lösung besteht darin, einen launchd
Job mit der folgenden StartOnMount
Eigenschaft zu erstellen -boolean YES
:
StartOnMount <boolean>
Dieser optionale Schlüssel bewirkt, dass der Job jedes Mal gestartet wird, wenn ein Dateisystem gemountet wird.
So macht es Time Machine (siehe /System/Library/LaunchDaemons/com.apple.backupd-attach.plist
).
Verwenden Sie eine Finder-Ordneraktion, die /Volumes überwacht. Wenn ein neuer Ordner angezeigt wird, bedeutet dies, dass eine neue Festplatte angehängt wurde. Jetzt kann Ihre FolderAction eine Automator-Aktion, AppleScript oder ein Shell-Skript ausführen, um Ihr Ding zu erledigen.
MarcoPolo kann Aktionen basierend auf dem Anhängen von Datenträgern ausführen.
Eine Lösung wäre, eine Automator-Anwendung zu erstellen, die die 3 folgenden Aktionen verkettet:
Abhängig von Ihren Anforderungen kann dies auf bestimmte Ordner/Mount-Punkte angewendet werden und eignet sich beispielsweise hervorragend zum Mounten eines USB-Flash-Laufwerks ...
http://www.jbmurphy.com/2011/07/15/os-x-running-a-script-when-a-usb-drive-is-inserted/
Benutzer588