"get all Files" oder "get all Folder" Function

  • Hallo zusammen,


    hat jemand von euch schon mal eine Funktion gebaut, die alle Files in einem Folder inc. in den Subfoldern in ein Array oder ähnliches schreibt? Ich würde auch eine Funktion nehmen die alle Folder ausließt und dann entsprechend erweitern.

  • Mit Files meinst du Notes-DBs im notesdata oder beliebige Dateien in beliebigen Ordnern im Filesystem? Ersteres bekommst du mit der NotesDbDirectory-Klasse.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Auf Anhieb kann ich da nichts aus dem Handgelenk schütteln, außer einem "dir /b /o /s > contents.txt" in einem Shell-Aufruf
    Aber das sagt dir nicht an, ob es sich dabei um eine Datei oder einen Ordner handelt. Das kann dir aber das Dir (das LotusScript-Dir!) sagen.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Das sollte auch schon mit Notes Mitteln laufen... das Snipplet hier listet derzeit alle Folder... nun muss ich nur noch alle Subfolder herausfinden und die an das Array anhängen... habe derzeit noch keine Idee wie ich das bauen will :-/





    Edit: Ich sehe gerade hier werden die "backlashes" entfernt... das bedeutet oben im Snipplet fehlen sämtliche Backslashes... für den der es ausprobieren will !!!!

  • Naja, ich denke, man wird drumrum kommen, sich eine Funktion selbst zu schreiben und die rekursiv für die zurückgelieferten Verzeichnisse aufzurufen, um die darin liegenden Verzeichnisse und die darin liegenden Verzeichnisse und die darin ... ermitteln zu können

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • so... ich habe es fertig... wer es braucht:




    ich hänge aber auch noch den Code als Zip an...

    • Offizieller Beitrag

    so ähnlich habe ich es auch mal versucht, nur habe ich dann irgendwann das Array gesprengt (das Sript lief auf einem File-Server ;) ). Danach habe ich für die Ordner temp. Dokumente angelegt und diese wieder gelöscht, wenn ich den Ordner durchsucht habe. Diese Temp. Dokumente habe ich dann in eine sep. DB ausgelagert, damit die Del.Stubs mur nicht die DB aufblähen.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein

  • So wahnsinnig lang reichen 64kB nun aber auch nicht. Schau dir mal an, was alles in c:\windows drin ist. Ich kann es grad nicht sagen, ich sitze vor ner openSuSE, aber auch hier gibt es größere Verzeichnisse:


    Und damit kriegst du garantiert jedes Array gesprengt ;)

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

    • Offizieller Beitrag
    Zitat

    hm, klingt nach einem Bockwurst Fileserver


    habe mich damals auch ziemlich verschätzt.


    Gehe mal von einem Fileserver aus, auf dem jeder seine Urlaubsanträge, Dienstreiseanträge, Dienstreiseabrechnungen usw ablegt und dies über Jahre.


    Im ersten Schritt kannst Du Dein array auch verdoppeln, in dem LBound bei -32768 liegt und UBound bei maximal 32767. Oder Du baust alles auf Listen um, da dürfte es diese Grenze auch nicht geben.


    Gruß
    Dirk

    Rein logisches Denken verschafft uns keine Erkenntnis über die wirkliche Welt.
    Alle Erkenntnis der Wirklichkeit beginnt mit der Erfahrung und endet mit ihr.
    Alle Aussagen, zu denen man auf rein logischen Wegen kommt, sind, was die Realität angeht, vollkommen leer.
    Albert Einstein