我目前正在尝试排除filesystemwatcher类的目录,尽管我已经使用过:

FileWatcher.Filter = "C:\\$Recycle.Bin";


FileWatcher.Filter = "$Recycle.Bin";

它可以编译,但当我尝试此操作时不会显示任何结果。
如果我取出过滤器,所有文件加载正常,代码如下:
 static void Main(string[] args)
        {
            string DirPath = "C:\\";

            FileSystemWatcher FileWatcher = new FileSystemWatcher(DirPath);
            FileWatcher.IncludeSubdirectories = true;
            FileWatcher.Filter = "*.exe";
          // FileWatcher.Filter = "C:\\$Recycle.Bin";
          //  FileWatcher.Changed += new FileSystemEventHandler(FileWatcher_Changed);
            FileWatcher.Created += new FileSystemEventHandler(FileWatcher_Created);
          //  FileWatcher.Deleted += new FileSystemEventHandler(FileWatcher_Deleted);
          //  FileWatcher.Renamed += new RenamedEventHandler(FileWatcher_Renamed);
            FileWatcher.EnableRaisingEvents = true;

            Console.ReadKey();
        }

最佳答案

你可能还没读过http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.filter.aspx。不能排除具有筛选器属性的任何内容。它只包括与过滤器匹配的对象。
如果要排除某些内容,请在fsw触发的事件中执行。

08-06 03:34