Ordner überwachen und Daten verschieben...

Bratmaxe66

Grünschnabel
Hallo...

ich habe gerade etwas Denkprobleme (gerade)....nun folgendes sind meine Probleme..
Ich möchte ein kleines Tool schreiben, das einen angegebenen Ordner überwacht und dahineingehende Dateien in einen anderen Ordner verschiebt.
Code:
private void button3_Click(object sender, EventArgs e)
        {
            
            string path1, path2 = "";
            string[] aFiles = null;
            string[] bFiles = null;
            int posSep = 0;
            int i = 0;
            string sFile = null;
            
            path1 = textBox1.Text;
            path2 = textBox2.Text;
            
            aFiles = System.IO.Directory.GetFiles(path1);
            bFiles = System.IO.Directory.GetFiles(path2);
            
            for (i = 0; i < aFiles.GetUpperBound(0) + 1; i++)
            {
                posSep = aFiles[i].LastIndexOf(@"\");
                sFile = aFiles[i].Substring((posSep + 1), aFiles[i].Length - (posSep + 1));
                System.IO.File.Move(aFiles[i], path2 + @"\" + sFile);
            }
            
        }

Soweit schaut mein Code aus. Also ich lese aus 2 Textboxen die gewünschten Verzeichnisse ein (Quellordner = path1 und Zielordner = path2).
Per Klick auf den Button3 siehe Code soll er dann die Dateien aus dem 1. in dem 2ten Ordner verschieben.

Meine Probleme:

1. Wie kann ich das Tool so schreiben, dass es die Ordnerüberwachung permanent macht. Sprich nachdem man auf den Button geklickt hat, soll es dauerhaft laufen und neu in den Ordner1 kommende Dateien sofort in Ordner2 verschieben. Meine Lösungsansätze habe bis jetzt immer nur zu Endlosschleifen mit 100% Systemauslastung geführt, waren also Müll...Wäre schön wenn mir da mal jemand zur Hand gehen könnte...

LG Mike
 
Zuletzt bearbeitet:
Hallo Bratmaxe66,

in der Toolbox gibt es unter der Kategorie "Komponenten" das Steuerelement FileSystemWatcher. Mit Hilfe dieser Komponente kannst Du Verzeichnisse überwachen und auf entsprechende Ereignisse reagieren, ohne Dein System zu belasten.

Weitere Informationen zur Komponente findest Du in der MSDN oder unter dem folgenden Link: http://msdn.microsoft.com/de-de/library/system.io.filesystemwatcher(VS.80).aspx

Falls Du anschließend weitere Fragen hast, kannst Du Dich gerne noch einmal hier melden.

Gruß
PhoenixLoe
 
Zurück