FileSystemWatcher.Filter FileSystemWatcher.Filter FileSystemWatcher.Filter FileSystemWatcher.Filter Property

定義

ディレクトリで監視するファイルを決定するために使用するフィルター文字列を取得または設定します。Gets or sets the filter string used to determine what files are monitored in a directory.

public:
 property System::String ^ Filter { System::String ^ get(); void set(System::String ^ value); };
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.IO.IODescription("File name filter pattern")]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.IO.IODescription("FSW_Filter")]
[System.ComponentModel.TypeConverter("System.Diagnostics.Design.StringValueConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
[System.ComponentModel.SettingsBindable(true)]
public string Filter { get; set; }
member this.Filter : string with get, set
Public Property Filter As String

プロパティ値

フィルター文字列。The filter string. 既定値は"*。*"(すべてのファイルを監視します)。The default is "*.*" (Watches all files.)

次の例では、作成、FileSystemWatcher実行時に指定されたディレクトリを監視します。The following example creates a FileSystemWatcher to watch the directory specified at run time. 変化を監視するコンポーネントを設定LastWriteLastAccess時に、作成、削除、またはディレクトリ内のテキスト ファイルの名前を変更します。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.

#using <System.dll>

using namespace System;
using namespace System::IO;
using namespace System::Security::Permissions;

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' );

      return 0;
   }
};

int main() {
   Watcher::run();
}
using System;
using System.IO;
using System.Security.Permissions;

public class Watcher
{
    public static void Main()
    {
        Run();
    }

    [PermissionSet(SecurityAction.Demand, Name = "FullTrust")]
    private static void Run()
    {
        string[] args = 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.
        using (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 += OnChanged;
            watcher.Created += OnChanged;
            watcher.Deleted += OnChanged;
            watcher.Renamed += 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: {e.OldFullPath} renamed to {e.FullPath}");
}
Imports System
Imports System.IO
Imports System.Security.Permissions
Imports Microsoft.VisualBasic

Public Class Watcher

    Public Shared Sub Main()

        Run()

    End Sub

    <PermissionSet(SecurityAction.Demand, Name:="FullTrust")>
    Private Shared Sub Run()

        Dim args() As String = 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.
        Using 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 Using
    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: {e.OldFullPath} renamed to {e.FullPath}")
    End Sub

End Class

注釈

すべてのファイルの変更をウォッチする、Filterプロパティを空の文字列 ("")。To watch changes in all files, set the Filter property to an empty string (""). 特定のファイルをウォッチする、Filterプロパティをファイル名。To watch a specific file, set the Filter property to the file name. たとえば、MyDoc.txt ファイル内の変更の監視には、次のように設定します。、Filterプロパティを"MyDoc.txt"。For example, to watch for changes in the file MyDoc.txt, set the Filter property to "MyDoc.txt". 特定の種類のファイルの変更について視聴することもできます。You can also watch for changes in a certain type of file. たとえば、任意のテキスト ファイルの変更をウォッチする次のように設定します。、Filterプロパティを"*.txt"。For example, to watch for changes in any text files, set the Filter property to "*.txt". などの複数のフィルターの使用"*.txt|*.doc"はサポートされていません。Use of multiple filters such as "*.txt|*.doc" is not supported.

Filter後にプロパティを変更できる、FileSystemWatcherオブジェクトがイベントの受信を開始します。The Filter property can be changed after the FileSystemWatcher object has started receiving events.

不必要な通知をフィルター処理の詳細については、次を参照してください。、 NotifyFilterIncludeSubdirectories、およびInternalBufferSizeプロパティ。For more information about filtering out unwanted notifications, see the NotifyFilter, IncludeSubdirectories, and InternalBufferSize properties.

Filter 次の例に示すように一致するファイルは、ワイルドカードを受け付けます。Filter accepts wildcards for matching files, as shown in the following examples.

フィルター文字列Filter string 次のファイルを監視します。Watches the following files
*.**.* すべてのファイル (既定値)。All files (default). 空の文字列 ("") もすべてのファイルを監視します。An empty string ("") also watches all files.
*.txt*.txt "Txt"拡張子を持つすべてのファイル。All files with a "txt" extension.
*recipe.doc*recipe.doc "Doc"拡張機能では、「レシピ」で終わるすべてのファイル。All files ending in "recipe" with a "doc" extension.
win*.xmlwin*.xml "Xml"拡張子が"win"で始まるすべてのファイル。All files beginning with "win" with an "xml" extension.
Sales * 200 ですか。xlsSales*200?.xls 次に一致します。Matches the following:

-販売年 7 月 2001.xls- Sales July 2001.xls
-販売 Aug 2002.xls- Sales Aug 2002.xls
-販売年 3 月 2004.xls- Sales March 2004.xls

一致しません。but does not match:

-販売年 11 月 1999.xls- Sales Nov 1999.xls
MyReport.DocMyReport.Doc MyReport.doc のみを監視します。Watches only MyReport.doc

適用対象

こちらもご覧ください