So führen Sie Applescript auf Diskmount aus

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:

  1. Ich komme mit meinem Macbook nach Hause
  2. Ich schließe meinen USB-Hub an das Gerät an
  3. Externe Festplatten werden in OS X gemountet
  4. Mein Applescript wird ausgeführt, macht einige Sachen auf diesen Disketten

Ich möchte Schritt 4 automatisieren.

Antworten (6)

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
Ich möchte keine Festplatte mit AS mounten, ich möchte eine AS ausführen , wenn eine Festplatte gemountet wird. Ich werde meinen Beitrag bearbeiten, um es klarer zu machen.
Ich habe die Frage verstanden, aber ich glaube nicht, dass es möglich ist, dies so einfach zu tun. Ich habe jedoch ein wenig herumgebastelt und etwas gefunden, das mit ein wenig Optimierung funktionieren sollte, um Ihren Anforderungen gerecht zu werden.
Ich habe einige kleine Änderungen am Skript vorgenommen. Funktioniert gut :)

Die wahrscheinlich robusteste Lösung besteht darin, einen launchdJob mit der folgenden StartOnMountEigenschaft 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).

Ich denke, dass dies die robusteste Lösung ist, da sie nur von launchd abhängig ist, wo sich "diese Art von Dingen" richtig befindet.

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.

Diese App ist rabattiert, denn jetzt sollte die gepflegte Gabel verwendet werden: controlplaneapp.com

Eine Lösung wäre, eine Automator-Anwendung zu erstellen, die die 3 folgenden Aktionen verkettet:

  • Holen Sie sich bestimmte Finder-Objekte
  • Mounten Sie das Disk-Image
  • Führen Sie AppleScript aus
Auch hier möchte ich kein Image oder eine Festplatte mit Applescript mounten, ich möchte ein Skript ausführen, wenn eine Festplatte gemountet wird. Ich finde keine Möglichkeit, dies mit Ihren Schritten zu erreichen.
Ja, ich sehe nach der Klarstellung, dass es nicht funktioniert, weil es sich um eine Festplatte handelt, die Sie mounten (und nicht um eine Image-Festplatte).
Da Ihre Antwort eine andere Frage als die gestellte Frage betrifft, sollten Sie erwägen, sie zu löschen.

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/