System.IO.FileSystemWatcher를 사용하면 됨
[예제 1]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | public static Watch() { var watch = new FileSystemWatcher(); watch.Path = @"D:\tmp" ; watch.Filter = "file.txt" ; watch.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite; //more options watch.Changed += new FileSystemEventHandler(OnChanged); watch.EnableRaisingEvents = true ; } /// Functions: private static void OnChanged( object source, FileSystemEventArgs e) { if (e.FullPath == @"D:\tmp\file.txt" ) { // do stuff } } |
[예제 2]
1 2 3 4 5 6 7 8 9 | FileSystemWatcher fs = new FileSystemWatcher(); //개체 생성 fs.Path = "Test" ; //Test 폴더 감시 fs.NotifyFilter = NotifyFilters.FileName|NotifyFilters.DirectoryName; //파일 이름과 폴더 이름 감시 fs.Filter = "" ; //특정 파일 감시 ex)*.exe,(모두 감시"", *.*) fs.Created += new FileSystemEventHandler(fs_Created); //조건에 해당하는 파일 및 폴더의 생성 이벤트 등록 fs.Deleted+= new FileSystemEventHandler(fs_Deleted); //조건에 해당하는 파일 및 폴더의 삭제 이벤트 등록 fs.EnableRaisingEvents = true ; //이벤트 활성화 testeventhandler += new mydele(Form1_testeventhandler); |
[예제 3]
다음 예제에서는 런타임에 지정된 디렉터리를 조사하는 FileSystemWatcher를 만듭니다. 구성 요소는 디렉터리에 있는 텍스트 파일의 LastWrite 및 LastAccess 시간 변경, 작성, 삭제 또는 이름 변경을 조사하도록 설정됩니다. 파일이 변경, 작성 또는 삭제되면 해당 파일의 경로가 콘솔에 출력됩니다. 파일 이름이 변경되면 콘솔에 이전 경로와 새 경로가 출력됩니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | public class Watcher { public static void Main() { Run(); } [PermissionSet(SecurityAction.Demand, Name= "FullTrust" )] public static void Run() { string [] args = System.Environment.GetCommandLineArgs(); // If a directory is not specified, exit program. if (args.Length != 2) { // Display the proper way to call the program. Console.WriteLine( "Usage: Watcher.exe (directory)" ); return ; } // Create a new FileSystemWatcher and set its properties. FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = args[1]; /* Watch for changes in LastAccess and LastWrite times, and the renaming of files or directories. */ watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite | NotifyFilters.FileName | NotifyFilters.DirectoryName; // Only watch text files. watcher.Filter = "*.txt" ; // Add event handlers. watcher.Changed += new FileSystemEventHandler(OnChanged); watcher.Created += new FileSystemEventHandler(OnChanged); watcher.Deleted += new FileSystemEventHandler(OnChanged); watcher.Renamed += new RenamedEventHandler(OnRenamed); // Begin watching. watcher.EnableRaisingEvents = true ; // Wait for the user to quit the program. Console.WriteLine( "Press \'q\' to quit the sample." ); while (Console.Read()!= 'q' ); } // Define the event handlers. private static void OnChanged( object source, FileSystemEventArgs e) { // Specify what is done when a file is changed, created, or deleted. Console.WriteLine( "File: " + e.FullPath + " " + e.ChangeType); } private static void OnRenamed( object source, RenamedEventArgs e) { // Specify what is done when a file is renamed. Console.WriteLine( "File: {0} renamed to {1}" , e.OldFullPath, e.FullPath); } } |
Designed by sketchbooks.co.kr / sketchbook5 board skin
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5
Sketchbook5, 스케치북5