web-dev-qa-db-ja.com

C#の単一ファイルでFileSystemWatcherを使用する

ウォッチャーのパスを次のように単一のファイルに設定しようとすると:

watcher.Path = filePath1;

エラーが表示されます:

The directory name C:\Cromos 3.0\repository\diagnostics\dwm01_2011_06_13__09_03.LXD is invalid.

フォルダーディレクトリへのパスのみを設定できますか?

45
Jimmy

エラーは、完全なファイル名でPathプロパティを設定しています

watcher.Path = Path.GetDirectoryName(filePath1); 
watcher.Filter = Path.GetFileName(filePath1);

動作するはずです。

適切な質問とは関係ありませんが、もちろん、以下のコメントに記載されているように、FileSystemWatcherの機能を有効にするにはEnableRaisingEventsプロパティをtrueに設定することが必須です

91
Steve

はい。ただし、フィルタプロパティをファイル名に設定することにより、特定のファイルを監視できます。

例えば.

watcher.Filter = "dwm01_2011_06_13__09_03.LXD";
5
Justin Harvey