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);
        }

    }

 

posted @ 2022-11-06 10:03  懒人境界  阅读(187)  评论(0编辑  收藏  举报