FileSystemWatcher.Path-Eigenschaft
Ruft den Pfad des zu überwachenden Verzeichnisses ab oder legt diesen fest.
Namespace: System.IO
Assembly: System (in system.dll)
Syntax
'Declaration
Public Property Path As String
'Usage
Dim instance As FileSystemWatcher
Dim value As String
value = instance.Path
instance.Path = value
public string Path { get; set; }
public:
property String^ Path {
String^ get ();
void set (String^ value);
}
/** @property */
public String get_Path ()
/** @property */
public void set_Path (String value)
public function get Path () : String
public function set Path (value : String)
Eigenschaftenwert
Der zu überwachende Pfad. Der Standardwert ist eine leere Zeichenfolge ("").
Ausnahmen
Ausnahmetyp | Bedingung |
---|---|
Der angegebene Pfad enthält Platzhalterzeichen. - oder - Der angegebene Pfad enthält ungültige Zeichen. |
Hinweise
Dies ist ein voll gekennzeichneter Pfad zu einem Verzeichnis. Wenn die IncludeSubdirectories-Eigenschaft true ist, ist dieses Verzeichnis der Stamm der vom System auf Änderungen überwachten Verzeichnisse. Andernfalls wird nur dieses Verzeichnis überwacht. Legen Sie zum Überwachen einer bestimmten Datei die Path-Eigenschaft auf das vollqualifizierte korrekte Verzeichnis und die Filter-Eigenschaft auf den Dateinamen fest.
Die Path-Eigenschaft unterstützt UNC (Universal Naming Convention)-Pfadangaben.
Hinweis
Diese Eigenschaft muss festgelegt werden, damit die Komponente Änderungen überwachen kann.
Wenn ein Verzeichnis umbenannt wird, überwacht FileSystemWatcher automatisch das umbenannte Element. Wenn Sie z. B. die Path-Eigenschaft auf "C:\My Documents" festlegen und das Verzeichnis dann manuell in "C:\Your Documents" umbenennen, setzt die Komponente die Überwachung der Änderungsbenachrichtigungen automatisch im umbenannten Verzeichnis fort. Wenn Sie jedoch die Path-Eigenschaft abfragen, enthält diese den alten Pfad. Der Grund hierfür liegt darin, dass die Komponente das zu überwachende Verzeichnis über das Handle und nicht über den Namen des Verzeichnisses bestimmt. Ein Umbenennen wirkt sich nicht auf das Handle aus. Wenn Sie also die Komponente zerstören und anschließend neu erstellen, ohne die Path-Eigenschaft zu aktualisieren, schlägt die Anwendung fehl, da das Verzeichnis nicht mehr vorhanden ist.
Beispiel
Im folgenden Beispiel wird ein FileSystemWatcher erstellt, mit dem das zur Laufzeit angegebene Verzeichnis überwacht wird. In der Komponente wird festgelegt, dass Textdateien im Verzeichnis auf Änderungen in Bezug auf die Uhrzeit von LastWrite und LastAccess sowie das Erstellen, Löschen oder Umbenennen überwacht werden. Beim Ändern, Erstellen oder Löschen einer Datei wird der Dateipfad an die Konsole ausgegeben. Beim Umbenennen einer Datei werden der alte und der neue Pfad an die Konsole ausgegeben.
Verwenden Sie für dieses Beispiel den System.Diagnostics-Namespace und den System.IO-Namespace.
Public Class Watcher
Public Shared Sub Main()
Run()
End Sub
<PermissionSet(SecurityAction.Demand, Name:="FullTrust")> _
Private Shared Sub Run
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
public class Watcher
{
public static void Main()
{
Run();
}
[PermissionSet(SecurityAction.Demand, Name="FullTrust")]
public static void Run()
{
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);
}
}
public ref class Watcher
{
private:
// 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( "File: {0} {1}", e->FullPath, e->ChangeType );
}
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 );
}
public:
[PermissionSet(SecurityAction::Demand, Name="FullTrust")]
int static run()
{
array<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 0;
}
// Create a new FileSystemWatcher and set its properties.
FileSystemWatcher^ watcher = gcnew 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 = "*.txt";
// Add event handlers.
watcher->Changed += gcnew FileSystemEventHandler( Watcher::OnChanged );
watcher->Created += gcnew FileSystemEventHandler( Watcher::OnChanged );
watcher->Deleted += gcnew FileSystemEventHandler( Watcher::OnChanged );
watcher->Renamed += gcnew RenamedEventHandler( Watcher::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' )
;
}
};
int main() {
Watcher::run();
}
public class Watcher
{
public static void main(String[] args1)
{
Run();
}
/** @attribute PermissionSet(SecurityAction.Demand, Name="FullTrust")
*/
public static void Run()
{
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.set_Path(args[1]);
/* Watch for changes in LastAccess and LastWrite times, and
the renaming of files or directories.
*/
watcher.set_NotifyFilter
(NotifyFilters.LastAccess |NotifyFilters.LastWrite |
NotifyFilters.FileName | NotifyFilters.DirectoryName);
// Only watch text files.
watcher.set_Filter("*.txt");
// Add event handlers.
watcher.add_Changed(new FileSystemEventHandler(OnChanged));
watcher.add_Created(new FileSystemEventHandler(OnChanged));
watcher.add_Deleted(new FileSystemEventHandler(OnChanged));
watcher.add_Renamed(new RenamedEventHandler(OnRenamed));
// Begin watching.
watcher.set_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.get_FullPath() + " "
+ e.get_ChangeType()));
} //OnChanged
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.get_OldFullPath(),e.get_FullPath());
} //OnRenamed
} //Watcher
Plattformen
Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.
Versionsinformationen
.NET Framework
Unterstützt in: 2.0, 1.1, 1.0
Siehe auch
Referenz
FileSystemWatcher-Klasse
FileSystemWatcher-Member
System.IO-Namespace
FileSystemWatcher-Klasse
FileSystemWatcher.Filter-Eigenschaft