FileSystemWatcher.Filter Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Dizinde hangi dosyaların izleneceğini belirlemek için kullanılan filtre dizesini alır veya ayarlar.
public:
property System::String ^ Filter { System::String ^ get(); void set(System::String ^ value); };
public string Filter { get; set; }
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.IO.IODescription("FSW_Filter")]
public string Filter { get; set; }
[System.IO.IODescription("FSW_Filter")]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Filter { get; set; }
[System.IO.IODescription("FSW_Filter")]
[System.ComponentModel.SettingsBindable(true)]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public string Filter { get; set; }
[System.ComponentModel.SettingsBindable(true)]
public string Filter { get; set; }
member this.Filter : string with get, set
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
[<System.IO.IODescription("FSW_Filter")>]
member this.Filter : string with get, set
[<System.IO.IODescription("FSW_Filter")>]
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Filter : string with get, set
[<System.IO.IODescription("FSW_Filter")>]
[<System.ComponentModel.SettingsBindable(true)>]
[<System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
member this.Filter : string with get, set
[<System.ComponentModel.SettingsBindable(true)>]
member this.Filter : string with get, set
Public Property Filter As String
Özellik Değeri
Filtre dizesi. Varsayılan değer "*.*" (Tüm dosyaları izler.)
- Öznitelikler
Örnekler
Aşağıdaki örnek, çalışma zamanında belirtilen dizini izlemek için bir FileSystemWatcher oluşturur. Bileşen, ve zamanındaki değişiklikleri, dizindeki LastWriteLastAccess metin dosyalarının oluşturulmasını, silinmesini veya yeniden adlandırılmasını izleyecek şekilde ayarlanır. Bir dosya değiştirilir, oluşturulur veya silinirse, dosyanın yolu konsola yazdırılır. Bir dosya yeniden adlandırıldığında, eski ve yeni yollar konsola yazdırılır.
using System;
using System.IO;
namespace MyNamespace
{
class MyClassCS
{
static void Main()
{
using var watcher = new FileSystemWatcher(@"C:\path\to\folder");
watcher.NotifyFilter = NotifyFilters.Attributes
| NotifyFilters.CreationTime
| NotifyFilters.DirectoryName
| NotifyFilters.FileName
| NotifyFilters.LastAccess
| NotifyFilters.LastWrite
| NotifyFilters.Security
| NotifyFilters.Size;
watcher.Changed += OnChanged;
watcher.Created += OnCreated;
watcher.Deleted += OnDeleted;
watcher.Renamed += OnRenamed;
watcher.Error += OnError;
watcher.Filter = "*.txt";
watcher.IncludeSubdirectories = true;
watcher.EnableRaisingEvents = true;
Console.WriteLine("Press enter to exit.");
Console.ReadLine();
}
private static void OnChanged(object sender, FileSystemEventArgs e)
{
if (e.ChangeType != WatcherChangeTypes.Changed)
{
return;
}
Console.WriteLine($"Changed: {e.FullPath}");
}
private static void OnCreated(object sender, FileSystemEventArgs e)
{
string value = $"Created: {e.FullPath}";
Console.WriteLine(value);
}
private static void OnDeleted(object sender, FileSystemEventArgs e) =>
Console.WriteLine($"Deleted: {e.FullPath}");
private static void OnRenamed(object sender, RenamedEventArgs e)
{
Console.WriteLine($"Renamed:");
Console.WriteLine($" Old: {e.OldFullPath}");
Console.WriteLine($" New: {e.FullPath}");
}
private static void OnError(object sender, ErrorEventArgs e) =>
PrintException(e.GetException());
private static void PrintException(Exception? ex)
{
if (ex != null)
{
Console.WriteLine($"Message: {ex.Message}");
Console.WriteLine("Stacktrace:");
Console.WriteLine(ex.StackTrace);
Console.WriteLine();
PrintException(ex.InnerException);
}
}
}
}
Imports System.IO
Namespace MyNamespace
Class MyClassVB
Shared Sub Main()
Using watcher = New FileSystemWatcher("C:\path\to\folder")
watcher.NotifyFilter = NotifyFilters.Attributes Or
NotifyFilters.CreationTime Or
NotifyFilters.DirectoryName Or
NotifyFilters.FileName Or
NotifyFilters.LastAccess Or
NotifyFilters.LastWrite Or
NotifyFilters.Security Or
NotifyFilters.Size
AddHandler watcher.Changed, AddressOf OnChanged
AddHandler watcher.Created, AddressOf OnCreated
AddHandler watcher.Deleted, AddressOf OnDeleted
AddHandler watcher.Renamed, AddressOf OnRenamed
AddHandler watcher.Error, AddressOf OnError
watcher.Filter = "*.txt"
watcher.IncludeSubdirectories = True
watcher.EnableRaisingEvents = True
Console.WriteLine("Press enter to exit.")
Console.ReadLine()
End Using
End Sub
Private Shared Sub OnChanged(sender As Object, e As FileSystemEventArgs)
If e.ChangeType <> WatcherChangeTypes.Changed Then
Return
End If
Console.WriteLine($"Changed: {e.FullPath}")
End Sub
Private Shared Sub OnCreated(sender As Object, e As FileSystemEventArgs)
Dim value As String = $"Created: {e.FullPath}"
Console.WriteLine(value)
End Sub
Private Shared Sub OnDeleted(sender As Object, e As FileSystemEventArgs)
Console.WriteLine($"Deleted: {e.FullPath}")
End Sub
Private Shared Sub OnRenamed(sender As Object, e As RenamedEventArgs)
Console.WriteLine($"Renamed:")
Console.WriteLine($" Old: {e.OldFullPath}")
Console.WriteLine($" New: {e.FullPath}")
End Sub
Private Shared Sub OnError(sender As Object, e As ErrorEventArgs)
PrintException(e.GetException())
End Sub
Private Shared Sub PrintException(ex As Exception)
If ex IsNot Nothing Then
Console.WriteLine($"Message: {ex.Message}")
Console.WriteLine("Stacktrace:")
Console.WriteLine(ex.StackTrace)
Console.WriteLine()
PrintException(ex.InnerException)
End If
End Sub
End Class
End Namespace
Açıklamalar
Tüm dosyalardaki değişiklikleri izlemek için özelliğini boş bir dize ("") olarak ayarlayın Filter . Belirli bir dosyayı izlemek için Filter özelliğini dosya adı olarak ayarlayın. Örneğin, MyDoc.txtdosyasındaki değişiklikleri izlemek için özelliğini "MyDoc.txt" olarak ayarlayın Filter . Ayrıca, belirli bir dosya türündeki değişiklikleri de izleyebilirsiniz. Örneğin, herhangi bir metin dosyasındaki değişiklikleri izlemek için özelliğini "*.txt" olarak ayarlayın Filter . "*.txt|*.doc" gibi birden çok filtrenin kullanılması desteklenmez.
Filter Nesne olayları almaya başladıktan sonra FileSystemWatcher özelliği değiştirilebilir.
İstenmeyen bildirimleri filtreleme hakkında daha fazla bilgi için , IncludeSubdirectoriesve InternalBufferSize özelliklerine NotifyFilterbakın.
Filter aşağıdaki örneklerde gösterildiği gibi eşleşen dosyalar için joker karakterler kabul eder.
| Filtre dizesi | Aşağıdaki dosyaları izler |
|---|---|
| *.* | Tüm dosyalar (varsayılan). Boş bir dize (""), tüm dosyaları da izler. |
| *.txt | "txt" uzantısına sahip tüm dosyalar. |
| *recipe.doc | "Doc" uzantısıyla "tarif" ile biten tüm dosyalar. |
| win*.xml | "xml" uzantısıyla "win" ile başlayan tüm dosyalar. |
| Satış*200?.xls | Aşağıdakiyle eşleşir: - Satışlar Temmuz 2001.xls - Satış Ağu 2002.xls - Satış Mart 2004.xls ancak eşleşmiyor: - Satış 1999.xls |
| MyReport.Doc | Yalnızca MyReport.doc saatler |