FileSystemWatcher.Path Property


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

Gets or sets the path of the directory to watch.

Namespace:   System.IO
Assembly:  System (in System.dll)

[<TypeConverterAttribute("System.Diagnostics.Design.StringValueConverter, System.Design, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member Path : string with get, set

Property Value

Type: System.String

The path to monitor. The default is an empty string ("").

Exception Condition

The specified path does not exist or could not be found.


The specified path contains wildcard characters.


The specified path contains invalid path characters.

This is a fully qualified path to a directory. If the IncludeSubdirectories property is true, this directory is the root at which the system watches for changes; otherwise it is the only directory watched. To watch a specific file, set the Path property to the fully qualified, correct directory, and the Filter property to the file name.

The Path property supports Universal Naming Convention (UNC) paths.


This property must be set before the component can watch for changes.

When a directory is renamed, the FileSystemWatcher automatically reattaches itself to the newly renamed item. For example, if you set the Path property to "C:\My Documents" and then manually rename the directory to "C:\Your Documents", the component continues listening for change notifications on the newly renamed directory. However, when you ask for the Path property, it contains the old path. This happens because the component determines what directory watches based on the handle, rather than the name of the directory. Renaming does not affect the handle. So, if you destroy the component, and then recreate it without updating the Path property, your application will fail because the directory no longer exists.

The following example creates a FileSystemWatcher to watch the directory specified at run time. The component is set to watch for changes in LastWrite and LastAccess time, the creation, deletion, or renaming of text files in the directory. If a file is changed, created, or deleted, the path to the file prints to the console. When a file is renamed, the old and new paths print to the console.

Use the System.Diagnostics and System.IO namespaces for this example.

No code example is currently available or this language may not be supported.

.NET Framework
Available since 1.1
Return to top