gpt4 book ai didi

c# - 如何捕获监视文件夹删除事件

转载 作者:行者123 更新时间:2023-11-30 14:00:46 24 4
gpt4 key购买 nike

我有一个名为 FileWatch 的文件监视目录

 C:\Users\MyFolder\FileWatch\Test

FileWatch 文件夹是监视目录。我的应用程序正在接收 FileWatch 目录下发生的所有事件。

但是,如果我删除 FileWatch 文件夹本身,则不会生成任何文件系统事件。

如果用户删除了 FileWatch 目录本身,有什么方法可以捕获吗?

最佳答案

根据FileSystemWatcher的描述类,当更改/删除/创建/重命名文件或目录在被监视的目录中时引发事件。

所以,它不应该监视目录本身。它仅监控该目录的文件和目录。

选项(如前所述)- 改为观看目录 C:\Users\MyFolder\FileWatch

更新:如果您只想监视目录 C:\Users\MyFolder\FileWatch\Test 删除:

string path = @"C:\Users\MyFolder\FileWatch"; // watch for parent directory
if (!Directory.Exists(path)) // verify it exists before start
return;

FileSystemWatcher watcher = new FileSystemWatcher(path);
// set option to track directories only
watcher.NotifyFilter = NotifyFilters.DirectoryName;

watcher.Deleted += (o, e) =>
{
if (e.FullPath == @"C:\Users\MyFolder\FileWatch\Test")
{
// If you are here, your test directory was deleted
}
};

watcher.EnableRaisingEvents = true;

关于c# - 如何捕获监视文件夹删除事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9916013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com