Ein Looping für die Berge

Freitag, 25. November 2022 - 20:35 Uhr  |  Kategorie: Software

Ehrlichgesagt habe ich die Skriptidee von www.dreamlight.com, jedoch hat mir die Implementation dort nicht ganz gefallen also habe ich das Skript etwas angepasst :) Wie immer gilt: Erstmal lesen und dann ausführen!

Im Kern muss man das Skript nur in den Apple Skript Editor kopieren und als Typ "JavaScript" angeben. Anschließend klickt man beim Speichern als App den Haken  "Nach run-Handler anzeigen" an. Jetzt hat man eine dauerhafte App erzeugt welche die Netzlaufwerke verbunden hält.

LoopMounter.scpt Code Snipped:

// Öffnen in Apple's Skripteditor 
// Als Skripttyp "JavaScript" auswählen
// Die Benutzerkonfiguration bearbeiten 
// Ablage->Exportieren->Dateiformat "App" 
// Haken rein bei "Nach run-Handler anzeigen" 
// App über Doppelklick starten

// *********************************************** 
// Benutzerkonfiguration Start
 
var tIdleSeconds = 15; 
var userName = "Nutzername"; 
var Password = "MeinTollesPasswort"; 
var volName1 = "Freigabe1"; 
var volName2 = "Freigabe2"; 
var volName3 = "Freigabe3"; 
var volName4 = "Freigabe4"; 
var serverName = "ServerAdresse";
 
// Benutzerkonfiguration Ende 
// ***********************************************

var app = Application.currentApplication(); 
app.includeStandardAdditions = true; 
var system = Application('System Events'); 

function idle() { 
   checkVolumes(volName1); 
   checkVolumes(volName2); 
   checkVolumes(volName3); 
   checkVolumes(volName4); 
   return tIdleSeconds; 
}; 

function checkVolumes(volName) { 
   var volMounted = false;

   try {   
      var volList = system.disks(); 
      for (i = 0; i < volList.length; i++) { 
         if (volList[i].name() == volName){ 
         volMounted = true; break; 
         }; 
      };
   } catch (err) {
      // app.displayNotification( 'Systemevent: ' + err );
   };
 

   if ( ! volMounted ) { 
      try { 
         app.doShellScript("mkdir -p ~/public/" + volName); 
         app.doShellScript("mount_smbfs '//"+userName+":"+Password+"g7HoP4XgM3SfG8XvG5YzA8LpM4sX"+ serverName +"/"+ volName +"' ~/public/"+ volName +""); 
      } catch (err) { 
         // app.displayNotification( 'Mount fehlgeschlagen: ' + err );
      }; 
   };
};

Zurück zur Übersicht