Dateiüberwachung - vb.Net - IO.FileSystemWatcher
Hallo zusammen,
mit Hilfe des IO.FileSystemWatcher lassen sich ja auch auf Netzlaufwerken super bestimmte Vorgänge überwachen (Erstellung, Löschung, Änderung von Dateien und Ordnern).
Speziell bei der Löschung kann man sich über System.IO.FileSystemEventArgs die Datei/das Verzeichnis ausgeben lassen, welche(s) gelöscht wurde. Bei einer Änderung jedoch bekomme ich lediglich das Ergebnis einer Änderung von System.IO.FileSystemEventArgs zurück. Hier ein kleines Beispiel:
gibt mir die gelöschte Datei bzw. den gelöschten Ordner als MsgBox aus. Bei der Änderung jedoch:
bekomme ich nur das Ergebnis nach der Änderung ausgegeben. Dateiänderung aaa.txt in bbb.txt ... Ergebnis bbb.txt. Da ich aber gern wissen möchte wie die Datei im Urzustand hieß, bringt mir das rein gar nichts. Bei einer Löschung verhält es sich doch beinahe identisch. Vor dem Löschen > Datei aaa.txt ist da ... nach dem Löschen > Datei aaa.txt ist weg. Hier bekomme ich auch den Ursprungsnamen vor der Löschung präsentiert.
Hat jemand eine Idee wie ich bei einer Änderung oder Umbenennung an den alten Namen einer Datei bzw. eines Ordner dran komme?
MfG
mit Hilfe des IO.FileSystemWatcher lassen sich ja auch auf Netzlaufwerken super bestimmte Vorgänge überwachen (Erstellung, Löschung, Änderung von Dateien und Ordnern).
Speziell bei der Löschung kann man sich über System.IO.FileSystemEventArgs die Datei/das Verzeichnis ausgeben lassen, welche(s) gelöscht wurde. Bei einer Änderung jedoch bekomme ich lediglich das Ergebnis einer Änderung von System.IO.FileSystemEventArgs zurück. Hier ein kleines Beispiel:
Private WithEvents WatchFS As IO.FileSystemWatcher
WatchFS = New IO.FileSystemWatcher("X:\")
WatchFS.EnableRaisingEvents = True
WatchFS.IncludeSubdirectories = True
WatchFS.InternalBufferSize = 4096 * 16
CheckForIllegalCrossThreadCalls = False
Private Sub WatchFS_Deleted(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles WatchFS.Deleted
msgbox(e.fullpath)
End Sub
gibt mir die gelöschte Datei bzw. den gelöschten Ordner als MsgBox aus. Bei der Änderung jedoch:
Private Sub WatchFS_Renamed(ByVal sender As Object, ByVal e As System.IO.RenamedEventArgs) Handles WatchFS.Renamed
msgbox(e.fullpath)
End Sub
oder
Private Sub WatchFS_Changed(ByVal sender As Object, ByVal e As System.IO.FileSystemEventArgs) Handles WatchFS.Changed
msgbox(e.fullpath)
End Sub
bekomme ich nur das Ergebnis nach der Änderung ausgegeben. Dateiänderung aaa.txt in bbb.txt ... Ergebnis bbb.txt. Da ich aber gern wissen möchte wie die Datei im Urzustand hieß, bringt mir das rein gar nichts. Bei einer Löschung verhält es sich doch beinahe identisch. Vor dem Löschen > Datei aaa.txt ist da ... nach dem Löschen > Datei aaa.txt ist weg. Hier bekomme ich auch den Ursprungsnamen vor der Löschung präsentiert.
Hat jemand eine Idee wie ich bei einer Änderung oder Umbenennung an den alten Namen einer Datei bzw. eines Ordner dran komme?
MfG
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 116003
Url: https://administrator.de/contentid/116003
Ausgedruckt am: 25.11.2024 um 23:11 Uhr
2 Kommentare
Neuester Kommentar
Vieleicht bist Du schon selbst drauf gekommen:
Außer ..FullPath gibt es auch e.oldname und e.name (in Rename-Event)
Außer ..FullPath gibt es auch e.oldname und e.name (in Rename-Event)