Bir dizini izlemek ve içine bırakılan dosyaları başka bir dizine taşımak için bir Windows Forms Uygulaması kullanıyorum.
Şu anda dosyayı başka bir dizine kopyalayacaktır, ancak başka bir dosya eklendiğinde hata mesajı olmadan bitecektir. Bazen üçüncüyle bitmeden önce iki dosyayı kopyalar.
Bunun nedeni konsol uygulaması yerine Windows Form Uygulaması kullanmam mı? Programın bitmesini durdurmanın ve dizini izlemeye devam etmenin bir yolu var mı?
private void watch()
{
this.watcher = new FileSystemWatcher();
watcher.Path = path;
watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite
| NotifyFilters.FileName | NotifyFilters.DirectoryName;
watcher.Filter = "*.*";
watcher.Changed += OnChanged;
watcher.EnableRaisingEvents = true;
}
private void OnChanged(object source, FileSystemEventArgs e)
{
//Copies file to another directory.
}
public void Dispose()
{
// avoiding resource leak
watcher.Changed -= OnChanged;
this.watcher.Dispose();
}