• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Viele hassen ihn, manche schwören auf ihn, wir aber möchten unbedingt sehen, welche Bilder Ihr vor Eurem geistigen Auge bzw. vor der Linse Eures iPhone oder iPad sehen könnt, wenn Ihr dieses Wort hört oder lest. Macht mit und beteiligt Euch an unserem Frühjahrsputz ---> 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
 

commune10

Adams Apfel
Registriert
11.08.11
Beiträge
522
Ich bin kein AppleScript-Spezi, aber die Doppelpunkte in den Pfadnamen würden mich zumindest etwas nervös machen.
 

graefe

Querina
Registriert
26.02.07
Beiträge
182
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.
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
Sag dem app "Finder", was du vorhast ... dann wird es klappen.

Gruß
 

graefe

Querina
Registriert
26.02.07
Beiträge
182
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
 

Pill

Adams Parmäne
Registriert
07.07.12
Beiträge
1.310
Ist der Ordner gemountet, dann sollte er sich in /Volumes/ befinden.
 

sedna

Galloway Pepping
Registriert
22.10.08
Beiträge
1.359
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ß
 

Marcel Bresink

Hadelner Sommerprinz
Registriert
28.05.04
Beiträge
8.560
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.