Ordnerüberwachung in VB

atlantyz

Erfahrenes Mitglied
Hallo Leute,

ich brauche für ein Programm eine Ordnerüberwachung. Das habe ich bisher auch hinbekommen. Sobald eine Datei in den Ordner geschoben wird, verschiebt das Programm alle Ordner woanders hin. Mein Problem: er verschiebt nur, wenn eine Datei in den überwachenden Ordner kommt. Nun soll er allerdings auch Ordner verschieben, wenn ein Ordner erstellt wird. Aber das bekomm ich leider nicht hin.

Hier mein bisheriger Code:

Code:
  Private Sub cmdStartWatching_Click(ByVal sender As System.Object, _
   ByVal e As System.EventArgs _
   ) Handles cmdStartwatching.Click
        UeberwachungStatus.Text = "Überwachung aktiv"

        ' Ggf. ein neues Objekt erzeugen, andernfalls 
        ' das bereits bestehende Objekt verwenden: 
        If fsw Is Nothing Then
            fsw = New System.IO.FileSystemWatcher
        End If
        ' Die Überwachungsinformationen mitteilen: 
        With fsw
            .Path = "C:\DiscPublisher Projekte"
            .Filter = ""
            .NotifyFilter = IO.NotifyFilters.FileName _
            Or NotifyFilters.Size
            .IncludeSubdirectories = True
            .EnableRaisingEvents = True ' Überwachung starten 
        End With
    End Sub

Ich vermute mal, es hat was damit zu tun, dass ich den FileSystemWatcher benutze. Nun, gibt es sowas denn auch um Ordner zu überwachen?
 
Naja: Ein Ordner wird meist dann angelegt, wenn er auch Dateien enthalten soll. D.h. dieser darf auch erst dann verschoben werden, wenn alle Dateien in diesen Ordner kopiert wurden. Dem FileSystemWatcher kannst du mitteilen, dass auch Unterverzeichnisse überwacht werden sollen. Jetzt sollte es gerade "Klick" gemacht haben ;-)
 
Das hat leider auch nicht funktioniert, weil er neu erstellte Ordner trotz Inhalt nicht verschoben hat. Aber ich hab jetzt den Ganzen Filter Kram mal rausgenommen und dann hat er ihn verschoben. Dem Programm soll es egal sein, ob der Ordner Dateien enthält oder nicht. Es soll alles verschieben, was rein kommt. Die Ganzen Daten aufbereiten übernimmt ein anderes Programm. Es löscht auch die Ordner wieder, wenn sie leer sind.

Oder ist es besser leere Ordner vorher abzufangen
 

Neue Beiträge

Zurück