Вы можете использовать System.IO.FileSystemWatcher . Он предоставляет методы для выполнения именно того, что вы хотите сделать:
FileSystemWatcher watcher = new FileSystemWatcher()
{
Path = stringWithYourPath,
Filter = "*.txt"
};
// Add event handlers for all events you want to handle
watcher.Created += new FileSystemEventHandler(OnChanged);
// Activate the watcher
watcher.EnableRaisingEvents = true
Где OnChanged - обработчик событий:
private static void OnChanged(object source, FileSystemEventArgs e)
{
Console.WriteLine($"File: {e.FullPath} {e.ChangeType}");
}