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
Please also mark the comments that contributed to the solution of the article
Content-Key: 116003
Url: https://administrator.de/contentid/116003
Printed on: April 28, 2024 at 10:04 o'clock
2 Comments
Latest comment
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)