Apfeltalk Weihnachtsbanner 2014

Inhalt eines Netzwerkordners auslesen

Dieses Thema im Forum "AppleScript" wurde erstellt von graefe, 06.01.13.

  1. graefe

    graefe Rheinischer Krummstiel

    Dabei seit:
    26.02.07
    Beiträge:
    181
    Zustimmungen:
    5
    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
    #1
  2. commune10

    commune10 Süssreinette (Aargauer Herrenapfel)

    Dabei seit:
    11.08.11
    Beiträge:
    522
    Zustimmungen:
    15
    Ich bin kein AppleScript-Spezi, aber die Doppelpunkte in den Pfadnamen würden mich zumindest etwas nervös machen.
    #2
  3. graefe

    graefe Rheinischer Krummstiel

    Dabei seit:
    26.02.07
    Beiträge:
    181
    Zustimmungen:
    5
    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.
    #3
  4. sedna

    sedna Welscher Taubenapfel

    Dabei seit:
    22.10.08
    Beiträge:
    766
    Zustimmungen:
    102
    Sag dem app "Finder", was du vorhast ... dann wird es klappen.

    Gruß
    #4
  5. graefe

    graefe Rheinischer Krummstiel

    Dabei seit:
    26.02.07
    Beiträge:
    181
    Zustimmungen:
    5
    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
    #5
  6. Pill

    Pill Strauwalds neue Goldparmäne

    Dabei seit:
    07.07.12
    Beiträge:
    1.191
    Zustimmungen:
    95
    Ist der Ordner gemountet, dann sollte er sich in /Volumes/ befinden.
    #6
  7. sedna

    sedna Welscher Taubenapfel

    Dabei seit:
    22.10.08
    Beiträge:
    766
    Zustimmungen:
    102
    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ß
    #7
  8. Marcel Bresink

    Marcel Bresink Westfälische Tiefblüte

    Dabei seit:
    28.05.04
    Beiträge:
    1.588
    Zustimmungen:
    218
    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.
    #8

Diese Seite empfehlen