Dateien in einem Ordner mit AppleScript auswählen

  • Dateien in einem Ordner mit AppleScript auswählen

    Hallo zusammen,

    ich möchte gerne ein AppleScript schreiben mit dem ich zunächst vcf-Dateien, die in einem Ordner abgelegt sind, auswählen kann um diese dann in Outlook zu importieren. Da es sich um ein Script handelt, dass auf einer unbekannten Anzahl von Rechnern ausgeführt werden soll und mir die Anzahl der Kontakte in diesem Ordner nicht bekannt ist, wollte ich, dass es mit dem Skript möglich ist alle Dateien mit der Endung "vcf" in dem besagten Ordner auszuwählen. Dann soll der Import erfolgen. Bei diesem Vorgang soll der User nichts tun müssen, alles soll komplett automatisch laufen.

    Ich stecke nun bereits in Schritt 1 fest, denn ich habe zwar die Methode 'choose file' bzw. 'choose folder' gefunden allerdings wird die ja in Verbindung mit einer Userinteraktion verwendet.

    Meine Frage ist nun, ob mir vielleicht jemand einen Tipp geben kann, wie ich für das gewünschte Skript ein AppleScript schreiben kann, dass alle Dateien in einem angesprochenen Ordner auswählen kann.

    Herzlichen Dank für eure Unterstützung,

    DetRRG
  • Moin,
    ohne Nutzerinteraktion kannst du nen Pfad ungefähr so setzen:

    Quellcode

    1. tell application "Finder"
    2. set filePath to alias "Macintosh HD:users:ldv:Documents:vcards:"
    3. end tell


    Meine letzten AppleScript Progrämmchen sind ewig her. Deshalb weiß ich auch nicht mehr aus dem Kopf, wie man die Ordnerinhalte eingegrenzt nach Dateiendung durchlaufen kann.
    Damals hat mir AppleScript für absolute Starter sehr geholfen, vielleicht findest du dort auch einige Informationen. :)
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P
  • Quellcode

    1. property filePath : (path to home folder)
    2. tell application "Finder"
    3. set OrdnerInhalt to (every file of folder filePath whose name extension is "vcf")
    4. set dateiListe to (every item of OrdnerInhalt) as list
    5. repeat with datei in dateiListe
    6. display dialog datei as string
    7. -- hier kommt der Import hin
    8. (*
    9. tell application "Outlook"
    10. import datei
    11. end tell
    12. *)
    13. end repeat
    14. end tell
    Alles anzeigen
    "Lieber gut kopiert als schlecht erfunden"
  • Hallo zusammen,

    zunächst entschuldigt bitte die lange offline Zeit, es hat ein bisschen gedauert, bis ich mich dem Skript wieder zuwenden konnte.

    Ich habe nun den Code folgendermaßen verfasst:

    Quellcode

    1. tell application "Finder"
    2. set filepath to "Daten:NotesKontakte:"
    3. set OrdnerInhalt to {every file of folder filepath whose name extension is "vcf"}
    4. set dateiListe to (every item of OrdnerInhalt) as list
    5. repeat with datei in dateiListe
    6. display dialog datei as string
    7. tell application "Microsoft Outlook"
    8. import vcf datei
    9. end tell
    10. end repeat
    11. end tell
    Alles anzeigen


    Der Code basiert auf dem Vorschlag vin dissen68. Es gibt nun eine Fehlermeldung und die bereitet mir Kopfzerbrechen:

    „«class docf» "Gahlings, Stefan.vcf" of «class cfol» "NotesKontakte" of «class cdis» "Daten" of application "Finder"“ kann nicht in den erwarteten Typ umgewandelt werden.

    Gibt es hier einen Fehler mit der von mir erzeugten vcf-Datei, ist es vielleicht die falsche Version, oder wie versteht ihr diese Fehlermeldung?

    Ich bin euch sehr für eure Hilfe und eure Ideen dankbar.

    Viele Grüße,

    DetRRG
  • Hallo dissen68,

    vielen Dank für deine Antwort. Ich habe das Skript nun angepasst. Jetzt taucht der Fehler nur noch auf, wenn mehr als ein Kontakt forhanden ist. Soweit ich den Fehler mittlerweile verstehe liegt es daran, dass er ein Problem mit dem Typ hat. Alias funktiniert sehr gut bei einer vcf, aber nicht bei mehreren. Was kann man da noch tun? Gibt es einen Typ der das abfangen kann?

    Viele Grüße,

    DetRRG