我有一些代码可以监视文件系统的更改并更新文件表示的容器。在您重命名目录之前,大多数情况下都可以正常工作。我希望为重命名目录的所有文件和子文件夹获得一个重命名事件,因为它们具有新路径,但我只收到一条消息,表明父目录已更改名称。有没有我忘记的事件,或者需要设置的标志?目前我正在处理目录重命名并遍历我的集合以将文件更新为新名称,但我觉得应该有一些东西可以接收每个文件的通知。
我的设置:
FileSystemWatcher watcher = new FileSystemWatcher(item.Path);
watcher.EnableRaisingEvents = true;
watcher.Created += new System.IO.FileSystemEventHandler(OnMediaCreated);
watcher.Deleted += new System.IO.FileSystemEventHandler(OnMediaDeleted);
watcher.Changed += new System.IO.FileSystemEventHandler(OnMediaChanged);
watcher.Renamed += new System.IO.RenamedEventHandler(OnMediaRenamed);