Laden...

Prüfen ob ein Ordner erstellt, gelöscht, ... wurde. Gibt es einen Folder-Watcher?

Erstellt von canada vor 7 Jahren Letzter Beitrag vor 7 Jahren 2.162 Views
C
canada Themenstarter:in
17 Beiträge seit 2013
vor 7 Jahren
Prüfen ob ein Ordner erstellt, gelöscht, ... wurde. Gibt es einen Folder-Watcher?

Hallo,

jeder kennt ja den File Watcher, ich bräuchte nun aber für ein Objekt einen Folder Watcher. Also ich muss prüfen ob ein Ordner erstellt wurde, gelöscht, etc. und nicht die Dateien darinnen.

Gibt es dafür Lösungsansätze? Habe nur 2-3 fertige Anwendungen gefunden die das können, aber keinen Hinweis dazu wie es umgesetzt wurde.

Vielleicht hat netterweise von euch jemand eine zündende Idee und schon mal danke.

3.170 Beiträge seit 2006
vor 7 Jahren

Hallo,

jeder kennt ja den File Watcher

Meinst Du den FileSystemWatcher? Der kann auch mit Ordnern...

Listens to the file system change notifications and raises events when a directory, or file in a directory, changes.

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca

35 Beiträge seit 2015
vor 7 Jahren

Hey canada,

Wie marsStein schon sagte, der FileSystemWatcher kann auch mit Ordnern arbeiten.
Dazu findest du in den Events passende Auslöser.

Gruß
Eniplay

Why do java programmers wear glasses?
Because they can't see sharp

C
canada Themenstarter:in
17 Beiträge seit 2013
vor 7 Jahren

Danke ihr beiden, hab es gefunden, hatte mir dazu aber code mäßig schon selber ein Bein gestellt.

Aber mal was anderes, wenn ich etwas umändere, müsste ja das Changed Event kommen, statt dessen löst es immer das Delete Event aus. Ich kann Dateien und Ordner umbenennen wie ich möchte, es ist immer Delete statt Change.

D
985 Beiträge seit 2014
vor 7 Jahren

Dann hast du dir die Dokumentation aber nicht durchgelesen oder einfach nicht verstanden, denn die ist da eindeutig wann der Changed Event ausgelöst wird.

T
2.224 Beiträge seit 2008
vor 7 Jahren

Hab selbst noch nie mit dem FileSystemwatcher gearbeitet.
Aber die Doku zum Changed Event ist da insgesamt sehr deutlich.
Wenn du also eine Datei änderst, also bearbeitest, dann wird auch das Changed Event gefeuert.
Eine Datei zu verschieben/umbennen entspricht einem löschen und neu anlegen nur unter neuem Namen/Pfad der Datei/Ordner.

Ist aber auch in der Doku mit groben Beispielen beim Deleted Event nochmal beschrieben.
Insgesamt also nachvollziehbar, dass dein gewünschtes Verhalten mit Changed nicht eintrifft.
Du kommt nicht um das entsprechende reagieren auf Deleted/Created drum herum.

Link:
[https://msdn.microsoft.com/de-de/library/system.io.filesystemwatcher.changed(v=vs.110).aspx]FileSystemWatcher.Changed-Ereignis]()
FileSystemWatcher.Deleted-Ereignis

T-Virus

Hinweis von gfoidl vor 7 Jahren

Bitte beachte [Hinweis] Wie poste ich richtig? Punkt 3.1

Developer, Developer, Developer, Developer....

99 little bugs in the code, 99 little bugs. Take one down, patch it around, 117 little bugs in the code.

D
985 Beiträge seit 2014
vor 7 Jahren

Es gibt aber auch noch den Renamed Event 😉