Netzlaufwerke mounten

Grundsätzlich

Im Finder einmal die Freigabe manuell mounten, falls nicht ganz klar ist, wie Server und Freigabe (“Share”) genau heißen und entsprechend einsetzen:

tell application "Finder" to mount volume "smb://SERVER/FREIGABE"

Sonderzeichen

Der Finder hat eine besondere Auffassung beim Codieren von Sonderzeichen. Dies führt zu folgendem Effekt: Im Finder wird manuell smb://SERVER/Café gemountet und auf dem Schreibtisch erscheint das Netzlaufwerk “Café”. Mountet man jedoch smb://SERVER/Café per AppleScript, wird “Café” doppelt auf dem Scheibtisch erscheinen; das Netzlaufwerk wurde doppelt gemountet.

Der Befehl mount in der Kommandozeile gibt die exakten Codierungen der beiden Mounts aus:

  • Finder: .../Cafe%CC%81
  • AppleScript: .../Caf%C3%A9

Um das zu vermeiden, muß in AppleScript die Codierung des Finders verwendet werden. In diesem Beispiel lautet der Befehl:

tell application "Finder" to mount volume "smb://SERVER/Cafe%CC%81"

Warten auf Folgeaktionen

Wenn in AppleScript gewartet werden soll, bis der Mount abgeschlossen wurde (z.B. um eine Datei vom Netzlaufwerk zu öffnen), ist eine Schleife erforderlich.

Im Beispielcode muß SERVER und FREIGABE ersetzt werden; die Beispiel-Folgeaktion öffnet ein neues Finder-Fenster:

Im Skripteditor öffnen

tell application "Finder"
	set isConnected to disk "FREIGABE" exists
	
	repeat while isConnected = false
		mount volume "smb://SERVER/FREIGABE"
		set isConnected to disk "FREIGABE" exists
	end repeat
	
	if isConnected = true then
		open "FREIGABE"
	end if
end tell