Sprache: C#
Überwacht das angegebene Verzeichnis mit Hilfe des FileSystemWatcher
FileSystemWatcher FSW;
private void FSW_Initialisieren()
{
// Filesystemwatcher anlegen
FSW = new FileSystemWatcher();
// Pfad und Filter festlegen
FSW.Path = @"C:test";
FSW.Filter = "*.txt";
// Events definieren
FSW.Changed += new FileSystemEventHandler(FSW_Changed);
FSW.Created += new FileSystemEventHandler(FSW_Created);
FSW.Deleted += new FileSystemEventHandler(FSW_Deleted);
FSW.Renamed += new RenamedEventHandler(FSW_Renamed);
// Filesystemwatcher aktivieren
FSW.EnableRaisingEvents = true;
}
// Handler für alle Events
void FSW_Renamed(object sender, RenamedEventArgs e)
{
MessageBox.Show("Umbenannt: " + e.Name);
}
void FSW_Deleted(object sender, FileSystemEventArgs e)
{
MessageBox.Show("Gelöscht: " + e.Name);
}
void FSW_Created(object sender, FileSystemEventArgs e)
{
MessageBox.Show("Erstellt: " + e.Name);
}
void FSW_Changed(object sender, FileSystemEventArgs e)
{
MessageBox.Show("Geändert: " + e.Name);
}
FileSystemWatcher FSW;
private void FSW_Initialisieren()
{
// Filesystemwatcher anlegen
FSW = new FileSystemWatcher();
// Pfad und Filter festlegen
FSW.Path = @"C:test";
FSW.Filter = "*.txt";
// Events definieren
FSW.Changed += new FileSystemEventHandler(FSW_Changed);
FSW.Created += new FileSystemEventHandler(FSW_Created);
FSW.Deleted += new FileSystemEventHandler(FSW_Deleted);
FSW.Renamed += new RenamedEventHandler(FSW_Renamed);
// Filesystemwatcher aktivieren
FSW.EnableRaisingEvents = true;
}
// Handler für alle Events
void FSW_Renamed(object sender, RenamedEventArgs e)
{
MessageBox.Show("Umbenannt: " + e.Name);
}
void FSW_Deleted(object sender, FileSystemEventArgs e)
{
MessageBox.Show("Gelöscht: " + e.Name);
}
void FSW_Created(object sender, FileSystemEventArgs e)
{
MessageBox.Show("Erstellt: " + e.Name);
}
void FSW_Changed(object sender, FileSystemEventArgs e)
{
MessageBox.Show("Geändert: " + e.Name);
}
Alte URL:
/snippet/verzeichnis-ueberwachen-mit-dem-filesystemwatcher/146
Warum kommen mehrere Ereignisse wenn eine Datei im Verzeichnis durch das Kopieren überschrieben wird? Ich habe versucht „FSW.NotifyFilter = NotifyFilters.LastWrite;“ zu ändern, hat nichts gebracht. Ich will in einem Verzeichnis festlegen welche Datei geändert wird (Datei wird durch das Kopieren von einem anderen Aplikation überschrieben, Inhalt wird geändert) um anschlieseend diese Datei in einem Thraed weiter zu bearbeiten. Vielen Dank im voraus.