Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Notification when a file changes?

Is there some mechanism by which I can be notified (in C#) when a file is modified on the disc?

like image 721
PaulB Avatar asked Apr 06 '09 14:04

PaulB


People also ask

How can I be notified when an Excel file is updated?

Open an Office app such as Word or Excel. Tap your profile button. It's the one near the top left that has your initials in it. At the bottom of the dialog that appears, choose Push Notifications.

Can you set up alerts on OneDrive?

Allow or block notifications Go to Settings in the new SharePoint admin center, and sign in with an account that has admin permissions for your organization. Select the Notifications setting for OneDrive. Select or clear Allow notifications.

Can SharePoint send email notifications?

SharePoint alerts can be configured to send an email or SMS when any documents or items on a SharePoint site have been changed. There are many use cases and business scenarios where you can use SharePoint alerts.


1 Answers

You can use the FileSystemWatcher class.

public void CreateFileWatcher(string path) {     // Create a new FileSystemWatcher and set its properties.     FileSystemWatcher watcher = new FileSystemWatcher();     watcher.Path = path;     /* Watch for changes in LastAccess and LastWrite times, and         the renaming of files or directories. */     watcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite         | NotifyFilters.FileName | NotifyFilters.DirectoryName;     // Only watch text files.     watcher.Filter = "*.txt";      // Add event handlers.     watcher.Changed += new FileSystemEventHandler(OnChanged);     watcher.Created += new FileSystemEventHandler(OnChanged);     watcher.Deleted += new FileSystemEventHandler(OnChanged);     watcher.Renamed += new RenamedEventHandler(OnRenamed);      // Begin watching.     watcher.EnableRaisingEvents = true; }  // Define the event handlers. private static void OnChanged(object source, FileSystemEventArgs e) {     // Specify what is done when a file is changed, created, or deleted.    Console.WriteLine("File: " +  e.FullPath + " " + e.ChangeType); }  private static void OnRenamed(object source, RenamedEventArgs e) {     // Specify what is done when a file is renamed.     Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath); } 
like image 143
Dirk Vollmar Avatar answered Sep 21 '22 08:09

Dirk Vollmar