none
In einem beliebigen Verzeichnis laufend nach neue Dateien schauen RRS feed

  • Frage

  • Hallo, ich möchte gerne in ein beliebiges Verzeichnis schauen, ob da neue Dateien erstellt wurden, diese möchte ich importieren, verarbeiten und denn löschen.
    Wie mache ich das am besten?
    Dienstag, 21. Juni 2011 13:54

Antworten

  • Hallo Michael,

    das geht mit dem FileSystemWatcher.
    Wobei dabei zu beachten ist, dass mehrere Ereignisse für eine Datei eintreten können -
    lies bitte die Beschreibung zur Klasse aufmerksam.

    Bevor Du mit den Dateien arbeiten kannst, musst Du warten, bis die Datei nicht mehr im Zugriff ist -
    bei größeren Dateien kann das etwas dauern und mehrere Versuche können nötig sein.
    Eine Beschreibung für das Vorgehen findest Du u. a. in: Using the FileSystemWatcher

    Beachte auch den Thread:  Ungültiger threadübergreifender Vorgang,
    da ging es auch gerade um den FileSystemWatcher.

    Gruß Elmar

    Dienstag, 21. Juni 2011 17:45
    Beantworter

Alle Antworten

  • Hi Michael.

    Spontan würd sagen, ...

    Timer nehmen (Sekunde sollte langen), VZ laden und zunächst einmal auf Anzahl Items abgleichen (grober Check, man will ja nicht ständig das Laufwerk rödeln haben). Wenn Anzahl ungleich, dann genauer hingucken und Dateinamen vergleichen mit altem Zustand (von vor 1 Sekunde halt oder allg. letztem Check), ob einer da ist, der nicht vorkam (For Each Blub ... If Not Blablub.Contains(Bla.ItemX) oder so).

    Ich weiss allerdings nicht, ob nicht vll. das Filesystem sowas hat, wie ein Event, sobald ein Ordnerinhalt sich verändert hat. Das wäre natürlich die bessere Wahl ... sollte es das geben. :-)

    LG, Dennis.

    Dienstag, 21. Juni 2011 15:55
  • Hallo Michael,

    das geht mit dem FileSystemWatcher.
    Wobei dabei zu beachten ist, dass mehrere Ereignisse für eine Datei eintreten können -
    lies bitte die Beschreibung zur Klasse aufmerksam.

    Bevor Du mit den Dateien arbeiten kannst, musst Du warten, bis die Datei nicht mehr im Zugriff ist -
    bei größeren Dateien kann das etwas dauern und mehrere Versuche können nötig sein.
    Eine Beschreibung für das Vorgehen findest Du u. a. in: Using the FileSystemWatcher

    Beachte auch den Thread:  Ungültiger threadübergreifender Vorgang,
    da ging es auch gerade um den FileSystemWatcher.

    Gruß Elmar

    Dienstag, 21. Juni 2011 17:45
    Beantworter