C#에서 폴더 모니터링 하는 방법

using System;
using System.IO;

namespace ConsoleApp1
{
    class Program {
        static void fileCreated(object sender, FileSystemEventArgs e) {
            
            Console.WriteLine(@"{0} 생성되었습니다.", e.Name);
        }
        static void fileChanged(object sender, FileSystemEventArgs e) {
            
            Console.WriteLine(@"{0} 가 {1} 되었습니다.", e.Name, e.ChangeType);
        }
        static void fileDeleted(object sender, FileSystemEventArgs e) {
            Console.WriteLine(@"{0} 삭제되었습니다.", e.Name);
        }

        static void fileRenamed(object sender, RenamedEventArgs e) {
            
            Console.WriteLine(@"{0} -> {1} 로 바뀌었습니다.", e.OldName, e.Name);
        }


        static void Main(string[] args) {
            FileSystemWatcher watcher = new FileSystemWatcher();

            //감시할 폴더를 지정함 (현재폴더 밑에 DropFiles 라는 폴더)
            watcher.Path = AppDomain.CurrentDomain.BaseDirectory + @"DropFiles";

            //파일&폴더 가 생성되었을때
            watcher.Created += new FileSystemEventHandler(fileCreated);

            //파일&폴더가 변했을때
            watcher.Changed += new FileSystemEventHandler(fileChanged);

            //파일&폴더 삭제되었을때
            watcher.Deleted += new FileSystemEventHandler(fileDeleted);

            //파일&폴더 이름이 바뀌었을때
            watcher.Renamed += new RenamedEventHandler(fileRenamed);

            //감시 시작
            watcher.EnableRaisingEvents = true;


            Console.WriteLine("Press 'q' to quit.");
            while (Console.Read() != 'q') ;
        }
    }
}

예전에 특정 폴더에 파일 드래그드롭 하면 전송하는 프로그램 만들때 썼던거
갑자기 생각나서 여기 정리해둠.

크리에이티브 커먼즈 라이선스 Linsoo 의 저작물인 이 저작물은(는) 크리에이티브 커먼즈 저작자표시-동일조건변경허락 4.0 국제 라이선스 에 따라 이용할 수 있습니다.

댓글 남기기

이메일은 공개되지 않습니다.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.