C# 文件监视程序能否读取放置在监视路径上的文件夹的内容?

C# 文件监视程序能否读取放置在监视路径上的文件夹的内容?,c#,windows-services,file-watcher,C#,Windows Services,File Watcher,我有一个windows服务,可以监视我电脑上的路径。我的挑战是,我的服务出现了问题,必须停止并修复它。现在,在监视路径的子目录中有新文件,这些文件由于服务未运行而无法处理。我希望能够从路径中剪切文件夹并粘贴它,然后我的服务会检测到该文件夹,这部分工作正常,但它不会继续并读取文件夹中的文件 下面是如何设置文件监视程序 fileSystemWatcher1.Path = filePath; fileSystemWatcher1.EnableRaisingEvents = true; fileSyst

我有一个windows服务,可以监视我电脑上的路径。我的挑战是,我的服务出现了问题,必须停止并修复它。现在,在监视路径的子目录中有新文件,这些文件由于服务未运行而无法处理。我希望能够从路径中剪切文件夹并粘贴它,然后我的服务会检测到该文件夹,这部分工作正常,但它不会继续并读取文件夹中的文件

下面是如何设置文件监视程序

fileSystemWatcher1.Path = filePath;
fileSystemWatcher1.EnableRaisingEvents = true;
fileSystemWatcher1.IncludeSubdirectories = true;
fileSystemWatcher1.InternalBufferSize = fsWatcherBuffer;
fileSystemWatcher1.Created += new 
FileSystemEventHandler(fileSystemWatcher1_Created);
fileSystemWatcher1.Changed += new 
FileSystemEventHandler(fileSystemWatcher1_Changed);

我用Windows 10操作系统做了一些实验,似乎移动子文件夹只会为移动的目录引发一个
创建的
事件,但复制粘贴子文件夹会为子文件夹引发
创建的
更改的
事件,以及其所有内容(深度)

但我的观察结果与以下结论不符:

操作系统和FileSystemWatcher对象将剪切粘贴操作或移动操作解释为文件夹及其内容的重命名操作。如果将包含文件的文件夹剪切并粘贴到正在监视的文件夹中,则FileSystemWatcher对象仅将该文件夹报告为新文件夹,而不将其内容报告为新文件夹,因为它们实际上只是重命名的文件夹

要获得文件夹内容已被移动或复制到监视文件夹的通知,请提供OnChanged和OnRenamed事件处理程序方法

也来自:

如果在正在监视的目录的子树中创建了目录,并且IncludeSubdirectories为true,则将自动监视该目录