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 @   懒人境界  阅读(192)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示