You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
34 lines
1.4 KiB
34 lines
1.4 KiB
using BitPlus.IO.Directory.Watcher; |
|
|
|
internal class Program |
|
{ |
|
private static void Main(string[] args) |
|
{ |
|
var path = args.Length > 0 ? args[0] : null; |
|
|
|
while (string.IsNullOrWhiteSpace(path) || !Directory.Exists(path)) |
|
{ |
|
Console.Write("감시할 폴더 경로를 입력하세요(Enter the folder path to monitor.): "); |
|
path = Console.ReadLine(); |
|
|
|
if (string.IsNullOrWhiteSpace(path)) |
|
Console.WriteLine("경로가 비어 있습니다.(The path is empty.)"); |
|
else if (!Directory.Exists(path)) |
|
Console.WriteLine("폴더가 존재하지 않습니다.(The folder does not exist.)"); |
|
} |
|
|
|
using var watcher = new DirectoryWatcher(path); |
|
watcher.FileCreated += (_, e) => Console.WriteLine($"[CREATE] {e.FullPath}"); |
|
watcher.FileChanged += (_, e) => Console.WriteLine($"[CHANGE] {e.FullPath}"); |
|
watcher.FileDeleted += (_, e) => Console.WriteLine($"[DELETE] {e.FullPath}"); |
|
watcher.FileRenamed += (_, e) => Console.WriteLine($"[RENAME] {e.OldFullPath} -> {e.FullPath}"); |
|
watcher.WatcherError += (_, e) => Console.WriteLine($"[ERROR] {e.GetException().Message}"); |
|
|
|
watcher.Start(); |
|
Console.WriteLine($"감시 시작(Start the surveillance): {path}"); |
|
Console.WriteLine("종료하려면 Enter를 누르세요...(Press Enter to exit)"); |
|
|
|
Console.ReadLine(); |
|
watcher.Stop(); |
|
} |
|
} |