C#の超初心者です。
監視ディレクトリを作成して、ボタンクリックで監視を開始。その後、ディレクトリにファイルが新規作成された場合、作成された当該ファイルの名前を取得して、その名前を元に一定のディレクトリに移動させたいです。
【質問】
FileSystemWatcherのcreatedにイベントハンドラを追加しようとしているのですが、新規作成されたファイルのファイル名称の取得の仕方について、ご教示頂けないでしょうか?
WaitForChangedResult 構造体だと、.nameのプロパティで取得できると理解していますが、以下のようなコードを書いてまして、この場合、どうやって、新規作成されたファイル名を取得できるのか、上手く調べられませんでした。
コードで参照したもの:
https://msdn.microsoft.com/ja-jp/library/t6xf43e0(v=vs.110).aspx
https://msdn.microsoft.com/ja-jp/library/system.io.waitforchangedresult(v=vs.110).aspx
//Button1のClickイベントハンドラ
private void Button1_Click(object sender, System.EventArgs e)
{
System.IO.FileSystemWatcher watcher = new System.IO.FileSystemWatcher();
watcher.Path = @"C:\users\user\desktop\監視フォルダ"; watcher.NotifyFilter = (System.IO.NotifyFilters.LastAccess | System.IO.NotifyFilters.LastWrite | System.IO.NotifyFilters.FileName | System.IO.NotifyFilters.DirectoryName); watcher.Filter = ""; watcher.Created += new System.IO.FileSystemEventHandler(OnChange); //(以下、省略) watcher.EnableRaisingEvents = true;
}
private void watcher_Changed(System.Object source,
System.IO.FileSystemEventArgs e)
{
switch (e.ChangeType)
{
case System.IO.WatcherChangeTypes.Created:
Console.WriteLine(
//ファイル名をベースに、作成されたファイルを移動
break;
//(以下、省略)
}
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/07/17 13:19