Sto utilizzando un'applicazione Windows Form per monitorare una directory e spostare i file contenuti in essa in un'altra directory.Utilizzo di FileSystemWatcher per monitorare una directory
Al momento copierà il file in un'altra directory, ma quando viene aggiunto un altro file terminerà senza alcun messaggio di errore. A volte copia due file prima di terminare con il terzo.
È perché sto utilizzando un'applicazione Windows Form anziché un'app console? C'è un modo per interrompere il programma e continuare a guardare la directory?
private void watch()
{
FileSystemWatcher watcher = new FileSystemWatcher();
watcher.Path = path;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "*.*";
watcher.Changed += new FileSystemEventHandler(OnChanged);
watcher.EnableRaisingEvents = true;
}
private void OnChanged(object source, FileSystemEventArgs e)
{
//Copies file to another directory.
}
La variabile di 'watcher' viene tenuta in vita (non raccolta dati inutili) perché si è iscritto all'evento Changed. – adospace