FileSystemWatcher.Renamed Event
Occurs when a file or directory in the specified Path is renamed.
[Visual Basic] Public Event Renamed As RenamedEventHandler [C#] public event RenamedEventHandler Renamed; [C++] public: __event RenamedEventHandler* Renamed;
[JScript] In JScript, you can handle the events defined by a class, but you cannot define your own.
Event Data
The event handler receives an argument of type RenamedEventArgs containing data related to this event. The following RenamedEventArgs properties provide information specific to this event.
| Property | Description |
|---|---|
| ChangeType (inherited from FileSystemEventArgs) | Gets the type of directory event that occurred. |
| FullPath (inherited from FileSystemEventArgs) | Gets the fully qualifed path of the affected file or directory. |
| Name (inherited from FileSystemEventArgs) | Gets the name of the affected file or directory. |
| OldFullPath | Gets the previous fully qualified path of the affected file or directory. |
| OldName | Gets the old name of the affected file or directory. |
Remarks
Renaming the directory you are watching will not raise a notification. Notifications are only raised for entries inside the directory you are watching.
Example
[Visual Basic] Public Class Watcher Public Shared Sub Main() Dim args() As String = System.Environment.GetCommandLineArgs() ' If a directory is not specified, exit the program. If args.Length <> 2 Then ' Display the proper way to call the program. Console.WriteLine("Usage: Watcher.exe (directory)") Return End If ' Create a new FileSystemWatcher and set its properties. Dim watcher As New FileSystemWatcher() watcher.Path = args(1) ' Watch for changes in LastAccess and LastWrite times, and ' the renaming of files or directories. watcher.NotifyFilter = (NotifyFilters.LastAccess Or NotifyFilters.LastWrite Or NotifyFilters.FileName Or NotifyFilters.DirectoryName) ' Only watch text files. watcher.Filter = "*.txt" ' Add event handlers. AddHandler watcher.Changed, AddressOf OnChanged AddHandler watcher.Created, AddressOf OnChanged AddHandler watcher.Deleted, AddressOf OnChanged AddHandler watcher.Renamed, AddressOf OnRenamed ' Begin watching. watcher.EnableRaisingEvents = True ' Wait for the user to quit the program. Console.WriteLine("Press 'q' to quit the sample.") While Chr(Console.Read()) <> "q"c End While End Sub ' Define the event handlers. Private Shared Sub OnChanged(source As Object, e As FileSystemEventArgs) ' Specify what is done when a file is changed, created, or deleted. Console.WriteLine("File: " & e.FullPath & " " & e.ChangeType) End Sub Private Shared Sub OnRenamed(source As Object, e As RenamedEventArgs) ' Specify what is done when a file is renamed. Console.WriteLine("File: {0} renamed to {1}", e.OldFullPath, e.FullPath) End Sub End Class [C#] public class Watcher { public static void Main() { string[] args = System.Environment.GetCommandLineArgs(); // If a directory is not specified, exit program. if(args.Length != 2) { // Display the proper way to call the program. Console.WriteLine("Usage: Watcher.exe (directory)"); return; } // Create a new FileSystemWatcher and set its properties. FileSystemWatcher watcher = new FileSystemWatcher(); watcher.Path = args[1]; /* 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; // Wait for the user to quit the program. Console.WriteLine("Press \'q\' to quit the sample."); while(Console.Read()!='q'); } // 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); } } [C++] public __gc class Watcher { public: // Define the event handlers. static void OnChanged(Object* /*source*/, FileSystemEventArgs* e) { // Specify what is done when a file is changed, created, or deleted. Console::WriteLine(S"File: {0} {1}", e->FullPath, __box(e->ChangeType)); } static void OnRenamed(Object* /*source*/, RenamedEventArgs* e) { // Specify what is done when a file is renamed. Console::WriteLine(S"File: {0} renamed to {1}", e->OldFullPath, e->FullPath); } }; int main() { String* args[] = System::Environment::GetCommandLineArgs(); // If a directory is not specified, exit program. if(args->Length != 2) { // Display the proper way to call the program. Console::WriteLine(S"Usage: Watcher.exe (directory)"); return 0; } // Create a new FileSystemWatcher and set its properties. FileSystemWatcher* watcher = new FileSystemWatcher(); watcher->Path = args[1]; /* Watch for changes in LastAccess and LastWrite times, and the renaming of files or directories. */ watcher->NotifyFilter = static_cast<NotifyFilters>( NotifyFilters::LastAccess | NotifyFilters::LastWrite | NotifyFilters::FileName | NotifyFilters::DirectoryName ); // Only watch text files. watcher->Filter = S"*.txt"; // Add event handlers. watcher->Changed += new FileSystemEventHandler(0, Watcher::OnChanged); watcher->Created += new FileSystemEventHandler(0, Watcher::OnChanged); watcher->Deleted += new FileSystemEventHandler(0, Watcher::OnChanged); watcher->Renamed += new RenamedEventHandler(0, Watcher::OnRenamed); // Begin watching. watcher->EnableRaisingEvents = true; // Wait for the user to quit the program. Console::WriteLine(S"Press \'q\' to quit the sample."); while(Console::Read()!='q'); }
[JScript] No example is available for JScript. To view a Visual Basic, C#, or C++ example, click the Language Filter button
in the upper-left corner of the page.
Requirements
Platforms: Windows NT Server 4.0, Windows NT Workstation 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family
See Also
FileSystemWatcher Class | FileSystemWatcher Members | System.IO Namespace | OnRenamed | Path | RenamedEventArgs | RenamedEventHandler