35 lines
1.6 KiB
C#
35 lines
1.6 KiB
C#
using System;
|
|
using System.IO;
|
|
|
|
namespace FSWatcher;
|
|
|
|
class Program
|
|
{
|
|
static void Main(string[] args)
|
|
{
|
|
if (args.Length == 0)
|
|
{
|
|
Console.WriteLine("FSWatcher.exe DirName");
|
|
}
|
|
using var watcher = new FileSystemWatcher(args[0]);
|
|
watcher.NotifyFilter = NotifyFilters.Attributes
|
|
| NotifyFilters.CreationTime
|
|
| NotifyFilters.DirectoryName
|
|
| NotifyFilters.FileName
|
|
| NotifyFilters.LastAccess
|
|
| NotifyFilters.LastAccess
|
|
| NotifyFilters.LastWrite
|
|
| NotifyFilters.Security
|
|
| NotifyFilters.Size;
|
|
watcher.IncludeSubdirectories = true;
|
|
|
|
watcher.Changed += (sender, eventArgs) => Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} - {eventArgs.ChangeType}: {eventArgs.FullPath}");
|
|
watcher.Created += (sender, eventArgs) => Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} - {eventArgs.ChangeType}: {eventArgs.FullPath}");
|
|
watcher.Deleted += (sender, eventArgs) => Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} - {eventArgs.ChangeType}: {eventArgs.FullPath}");
|
|
watcher.Renamed += (sender, eventArgs) => Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} - {eventArgs.ChangeType}: {eventArgs.OldFullPath} => {eventArgs.FullPath}");
|
|
|
|
watcher.EnableRaisingEvents = true;
|
|
Console.WriteLine("Press enter to exit.");
|
|
Console.ReadLine();
|
|
}
|
|
} |