• Wieder einmal haben uns unsere Apfeltalker tolle Fotos zur Abstimmung eingesandt. Welches ist Euer Favorit? Stimmt mit ab! Hier geht es zur Abstimmung --> Klick
  • Es ist bereits Apfeltalk-Tradition und wir möchten sie auch in diesem Jahr fortsetzen: Unser Apfeltalk-Weihnachtslogo-Wettbewerb hat begonnen! Gestaltet für uns das Weihnachtsbanner, das im Monat Dezember bis zum Weihnachtsfest unsere Webseite schmücken soll. Lasst Eurer Kreativität freien Lauf! Hier geht es zum Wettbewerb --> Klick

Inhalt eines Netzwerkordners auslesen

graefe

Querina
Registriert
26.02.07
Beiträge
182
Hallo,

ich habe per AppleScript den Netzwerkordner "Scans" auf 192.168.3.1 gemountet. Funktioniert!

Dann möchte ich alle Dateien auslesen:

set
DateiListe to name of every file of folder ordner as list

1) Die Variable "ordner" kann ich per AppleScript setzen als "Macintosh HD:": set ordner to "Macintosh HD:" - funktioniert!
2) Die Variable "ordner" kann ich per Auswahldialog auf "Scans:" setzen - funktioniert!
3) Aber: Wenn ich die Variable "ordner" per AppleScript auf "Scans:" setze, dann wird die Variable nicht als Ordner erkannt.

Woran mag das liegen? Abhilfe?

Danke
Graefe
 
Ich bin kein AppleScript-Spezi, aber die Doppelpunkte in den Pfadnamen würden mich zumindest etwas nervös machen.
 
Hmm, die Doppelpunkte sind POSIX-Nomenklatur - das dürfte für AppleScript eigentlich kein Problem sein. Und es funktioniert ja so auch bei der internen Festplatte.
 
Sag dem app "Finder", was du vorhast ... dann wird es klappen.

Gruß
 
Sagen tue ich dem Finder natürlich noch einiges mehr (sonst würde das Skript ja überhaupt nicht funktionieren ;) )

set DateiListe to {}
set FMFeldInhalt to {}
tell application "Finder"
mount volume "afp://192.168.3.20/Scans" as user name "name" with password "pssw"
set ordner to "Scans:"
set DateiListe to name of every file of folder ordner as list
end tell
set FeldInhalt to DateiListe as text
display dialogFeldInhalt

Das Problem ist, dass der Ausdruck "Scans:" von AppleScript nicht als Netzwerkverzeichnis erkannt wird.
Was ist aber die richtige Bezeichnung für ein Netzwerkverzeichnis?

Graefe
 
Ist der Ordner gemountet, dann sollte er sich in /Volumes/ befinden.
 
Hmm...
wenn du mit choose folder zu einem Ergebnis kommst, so wird dieses als alias weitergegeben.
Schau im Events-Fenster, was da steht und übernehme das als Variable ... also wohl (alias "Scans:")

Gruß
 
Hmm, die Doppelpunkte sind POSIX-Nomenklatur - das dürfte für AppleScript eigentlich kein Problem sein. Und es funktioniert ja so auch bei der internen Festplatte.

Nein, es ist genau umgekehrt: AppleScript stammt aus dem klassischen Mac OS und verwendet daher standardmäßig keine POSIX- oder Unix-Pfade, sondern die alte Mac OS-Schreibweise. Die Schreibweise "Scans:" ist korrekt, wenn "Scans" tatsächlich der Volume-Name der Netzwerkfreigabe ist. Zur Verdeutlichung könntest Du höchstens noch

set ordner to "Scans:" as alias

schreiben.

Willst Du dagegen mit den echten OSX-Pfaden arbeiten, so dürfte die Freigabe unter /Volumes/Scans gemountet sein und man kann alternativ

set ordner to "/Volumes/Scans" as POSIX file as alias

verwenden.