■ FileSystemWatcher
取得できるイベント
`# | `イベント | 説明 |
01 | OnCreated | 作成 |
02 | OnDeleted | 削除 |
03 | OnRenamed | リネーム |
04 | OnChanged | 変更 |
05 | OnError | エラー |
■ サンプル
using System; using System.IO; namespace SampleDemo { class Program { static void Main(string[] args) { FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = @"c:\temp"; watcher.Filter = "*.txt"; watcher.IncludeSubdirectories = true; watcher.NotifyFilter = NotifyFilters.FileName; watcher.Created += new FileSystemEventHandler(OnCreated); watcher.EnableRaisingEvents = true; Console.WriteLine("Start monitoring..."); Console.Read(); } private static void OnCreated(object source, FileSystemEventArgs fileSystemEvent) { Console.WriteLine("-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-"); Console.WriteLine(fileSystemEvent.ChangeType.ToString()); Console.WriteLine(fileSystemEvent.FullPath); } } }
■ 問題点
http://d.hatena.ne.jp/eco31/20110116/1295112914にも記載されているが 『ファイルやフォルダを操作したユーザが分からない』点。
補足
* 「作成者=ファイル所有者」であれば、 以下のサイトで書かれている『FileSecurityのGetOwner()で取得』できる => 削除した場合は、ファイルの自体がないし、「作成者=ファイル所有者」とは限らないし...https://teratail.com/questions/59917