[ad#ad-336×280]
指定したパスのサブフォルダまで監視できるようにするには、IncludeSubdirectoriesプロパティにTrueを設定します。
下記は、指定したパスのサブフォルダを監視する例です。
C:\Workパス以下のサブフォルダにあるファイルの変更を監視します。
VBの例
' フォームロード時の処理 Private Sub Form3_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load '監視するファイルがある(または作成される)フォルダを設定する FileSystemWatcher1.Path = "C:\Work" 'フィルターの設定 FileSystemWatcher1.Filter = "*" '監視対象をファイル&最終書込日時とする FileSystemWatcher1.NotifyFilter = IO.NotifyFilters.FileName Or IO.NotifyFilters.LastWrite '★★★指定したパスのサブフォルダを監視する FileSystemWatcher1.IncludeSubdirectories = True End Sub ' 変更されたときの処理 Private Sub FileSystemWatcher1_Changed(sender As System.Object, e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Changed MessageBox.Show("変更されました") End Sub ' 作成されたときの処理 Private Sub FileSystemWatcher1_Created(sender As System.Object, e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Created MessageBox.Show("作成されました") End Sub ' 削除されたときの処理 Private Sub FileSystemWatcher1_Deleted(sender As System.Object, e As System.IO.FileSystemEventArgs) Handles FileSystemWatcher1.Deleted MessageBox.Show("削除されました") End Sub ' リネームされたときの処理 Private Sub FileSystemWatcher1_Renamed(sender As System.Object, e As System.IO.RenamedEventArgs) Handles FileSystemWatcher1.Renamed MessageBox.Show("リネームされました") End Sub
C#の例
// フォームロード時の処理 private void Form3_Load(object sender, EventArgs e) { // 監視するフォルダを設定する fileSystemWatcher1.Path = @"C:\Work"; // フィルターの設定 fileSystemWatcher1.Filter = "*"; // 監視対象をファイル&最終書込日時とする fileSystemWatcher1.NotifyFilter = System.IO.NotifyFilters.FileName | System.IO.NotifyFilters.LastWrite; // ★★★指定したパスのサブフォルダを監視する fileSystemWatcher1.IncludeSubdirectories = true; } // 変更されたときの処理 private void fileSystemWatcher1_Changed(object sender, System.IO.FileSystemEventArgs e) { MessageBox.Show("変更されました"); } // 作成されたときの処理 private void fileSystemWatcher1_Created(object sender, System.IO.FileSystemEventArgs e) { MessageBox.Show("作成されました"); } // 削除されたときの処理 private void fileSystemWatcher1_Deleted(object sender, System.IO.FileSystemEventArgs e) { MessageBox.Show("削除されました"); } // リネームされたときの処理 private void fileSystemWatcher1_Renamed(object sender, System.IO.RenamedEventArgs e) { MessageBox.Show("リネームされました"); }
Please follow and like us:
コメント