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

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


Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다