C# FileSystemWatcher监控磁盘文件变化
class Program { static void Main(string[] args) { FileSystemWatcher fswArr = new FileSystemWatcher(); fswArr.Path = "H:\\"; fswArr.IncludeSubdirectories = true;//子目录级联监控; fswArr.NotifyFilter = NotifyFilters.FileName | NotifyFilters.DirectoryName | NotifyFilters.Size; fswArr.Created += 防黑监控系统_EventHandle; fswArr.Deleted += 防黑监控系统_EventHandle; fswArr.Changed += 防黑监控系统_EventHandle; fswArr.Renamed += 防黑监控系统_Renamed; fswArr.EnableRaisingEvents = true; while (!Console.ReadLine().ToUpper().Contains("CLOSE")) continue; Environment.Exit(0); } private static void 防黑监控系统_EventHandle(object sender, FileSystemEventArgs e) { 记录日志(e); } private static void 防黑监控系统_Renamed(object sender, RenamedEventArgs e) { 记录日志(e); } private static void 记录日志(FileSystemEventArgs e) { string[] array = e.FullPath.Split('\\'); string fileName = array[array.Length - 1]; string fileExt = Path.GetExtension(e.FullPath); string msg = ""; switch (e.ChangeType) { case WatcherChangeTypes.Created: Console.ForegroundColor = ConsoleColor.Green; //设置前景色,即字体颜色 msg = "创建文件:"+ e.FullPath; break; case WatcherChangeTypes.Deleted: Console.ForegroundColor = ConsoleColor.Red; //设置前景色,即字体颜色 msg = "删除文件:" + e.FullPath; break; case WatcherChangeTypes.Changed: Console.ForegroundColor = ConsoleColor.Blue; //设置前景色,即字体颜色 msg = "修改文件:" + e.FullPath; break; } Console.WriteLine(msg); } }