FileSystemWatcher コンストラクター

定義

FileSystemWatcher クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemWatcher class.

オーバーロード

FileSystemWatcher()

FileSystemWatcher クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemWatcher class.

FileSystemWatcher(String)

監視するディレクトリを指定して、FileSystemWatcher クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemWatcher class, given the specified directory to monitor.

FileSystemWatcher(String, String)

FileSystemWatcher クラスの新しいインスタンスを、監視するディレクトリとファイルの種類を指定して初期化します。Initializes a new instance of the FileSystemWatcher class, given the specified directory and type of files to monitor.

FileSystemWatcher()

FileSystemWatcher クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemWatcher class.

public:
 FileSystemWatcher();
public FileSystemWatcher ();
Public Sub New ()

次の例では、 FileSystemWatcher 実行時に指定されたディレクトリを監視するオブジェクトを作成します。The following example creates a FileSystemWatcher object to watch the directory specified at run time. オブジェクトは、 FileSystemWatcher およびの時刻の変更、 LastWrite LastAccess およびディレクトリ内のテキストファイルの作成、削除、または名前変更を監視します。The FileSystemWatcher object watches for changes in LastWrite and LastAccess times, and for the creation, deletion, or renaming of text files in the directory. ファイルが変更、作成、または削除されると、ファイルへのパスがコンソールに表示されます。If a file is changed, created, or deleted, the path to the file displays to the console. ファイルの名前を変更すると、古いパスと新しいパスがコンソールに表示されます。When a file is renamed, the old and new paths display to the console.

この例では System.DiagnosticsSystem.IO 名前空間と名前空間を使用します。This example uses the System.Diagnostics and System.IO namespaces.

#include "pch.h"

using namespace System;
using namespace System::IO;

class MyClassCPP
{
public:

    int static Run()
    {
        FileSystemWatcher^ watcher = gcnew FileSystemWatcher("C:\\path\\to\\folder");

        watcher->NotifyFilter = static_cast<NotifyFilters>(NotifyFilters::Attributes
                                                         | NotifyFilters::CreationTime
                                                         | NotifyFilters::DirectoryName
                                                         | NotifyFilters::FileName
                                                         | NotifyFilters::LastAccess
                                                         | NotifyFilters::LastWrite
                                                         | NotifyFilters::Security
                                                         | NotifyFilters::Size);

        watcher->Changed += gcnew FileSystemEventHandler(MyClassCPP::OnChanged);
        watcher->Created += gcnew FileSystemEventHandler(MyClassCPP::OnCreated);
        watcher->Deleted += gcnew FileSystemEventHandler(MyClassCPP::OnDeleted);
        watcher->Renamed += gcnew RenamedEventHandler(MyClassCPP::OnRenamed);
        watcher->Error   += gcnew ErrorEventHandler(MyClassCPP::OnError);

        watcher->Filter = "*.txt";
        watcher->IncludeSubdirectories = true;
        watcher->EnableRaisingEvents = true;

        Console::WriteLine("Press enter to exit.");
        Console::ReadLine();

        return 0;
    }

private:

    static void OnChanged(Object^ sender, FileSystemEventArgs^ e)
    {
        if (e->ChangeType != WatcherChangeTypes::Changed)
        {
            return;
        }
        Console::WriteLine("Changed: {0}", e->FullPath);
    }

    static void OnCreated(Object^ sender, FileSystemEventArgs^ e)
    {
        Console::WriteLine("Created: {0}", e->FullPath);
    }

    static void OnDeleted(Object^ sender, FileSystemEventArgs^ e)
    {
        Console::WriteLine("Deleted: {0}", e->FullPath);
    }

    static void OnRenamed(Object^ sender, RenamedEventArgs^ e)
    {
        Console::WriteLine("Renamed:");
        Console::WriteLine("    Old: {0}", e->OldFullPath);
        Console::WriteLine("    New: {0}", e->FullPath);
    }

    static void OnError(Object^ sender, ErrorEventArgs^ e)
    {
        PrintException(e->GetException());
    }

    static void PrintException(Exception^ ex)
    {
        if (ex != nullptr)
        {
            Console::WriteLine("Message: {0}", ex->Message);
            Console::WriteLine("Stacktrace:");
            Console::WriteLine(ex->StackTrace);
            Console::WriteLine();
            PrintException(ex->InnerException);
        }
    }
};


int main()
{
    MyClassCPP::Run();
}
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

注釈

Windows NT または Windows 2000 がインストールされていないリモートコンピューターを見ることはできません。You cannot watch a remote computer that does not have Windows NT or Windows 2000. Windows nt 4.0 コンピューターからリモートの Windows NT 4.0 コンピューターを視聴することはできません。You cannot watch a remote Windows NT 4.0 computer from a Windows NT 4.0 computer.

次の表に、のインスタンスのプロパティの初期値を示し FileSystemWatcher ます。The following table shows initial property values for an instance of FileSystemWatcher.

プロパティProperty 初期値Initial Value
NotifyFilter LastWrite、、およびのビットごとの or の組み合わせ FileName``DirectoryNamebitwise OR combination of LastWrite, FileName, and DirectoryName
EnableRaisingEvents false
Filter "*.*"(すべてのファイルをウォッチします)。"*.*" (Watch all files.)
IncludeSubdirectories false
InternalBufferSize 81928192
Path 空の文字列 ("")empty string ("")

注意

が設定されるまで、指定したディレクトリはコンポーネントによって監視されず、はになり Path EnableRaisingEvents true ます。The component will not watch the specified directory until the Path is set, and EnableRaisingEvents is true.

こちらもご覧ください

適用対象

FileSystemWatcher(String)

監視するディレクトリを指定して、FileSystemWatcher クラスの新しいインスタンスを初期化します。Initializes a new instance of the FileSystemWatcher class, given the specified directory to monitor.

public:
 FileSystemWatcher(System::String ^ path);
public FileSystemWatcher (string path);
new System.IO.FileSystemWatcher : string -> System.IO.FileSystemWatcher
Public Sub New (path As String)

パラメーター

path
String

標準表記または UNC (Universal Naming Convention) 表記での監視するディレクトリ。The directory to monitor, in standard or Universal Naming Convention (UNC) notation.

例外

path パラメーターが null です。The path parameter is null.

path パラメーターが空の文字列 ("") です。The path parameter is an empty string ("").

- または --or- path パラメーターで指定されたパスが存在しません。The path specified through the path parameter does not exist.

path が長すぎます。path is too long.

注釈

注意

が設定されるまで、指定したディレクトリはコンポーネントによって監視されず、はになり Path EnableRaisingEvents true ます。The component will not watch the specified directory until the Path is set, and EnableRaisingEvents is true.

このコンポーネントは、パーソナルコンピューター、ネットワークドライブ、またはリモートコンピューター上のファイルをウォッチできます。The component can watch files on your personal computer, a network drive, or a remote computer.

Windows NT または Windows 2000 がインストールされていないリモートコンピューターを見ることはできません。You cannot watch a remote computer that does not have Windows NT or Windows 2000. Windows nt 4.0 コンピューターからリモートの Windows NT 4.0 コンピューターを視聴することはできません。You cannot watch a remote Windows NT 4.0 computer from a Windows NT 4.0 computer. Filterプロパティは、すべてのファイルを監視するために既定で設定されます。The Filter property is set by default to watch all files.

こちらもご覧ください

適用対象

FileSystemWatcher(String, String)

FileSystemWatcher クラスの新しいインスタンスを、監視するディレクトリとファイルの種類を指定して初期化します。Initializes a new instance of the FileSystemWatcher class, given the specified directory and type of files to monitor.

public:
 FileSystemWatcher(System::String ^ path, System::String ^ filter);
public FileSystemWatcher (string path, string filter);
new System.IO.FileSystemWatcher : string * string -> System.IO.FileSystemWatcher
Public Sub New (path As String, filter As String)

パラメーター

path
String

標準表記または UNC (Universal Naming Convention) 表記での監視するディレクトリ。The directory to monitor, in standard or Universal Naming Convention (UNC) notation.

filter
String

ウォッチするファイルの種類。The type of files to watch. たとえば、すべてのテキスト ファイルの変更をウォッチするには、"*.txt" に設定します。For example, "*.txt" watches for changes to all text files.

例外

path パラメーターが null です。The path parameter is null.

または-or- filter パラメーターが null です。The filter parameter is null.

path パラメーターが空の文字列 ("") です。The path parameter is an empty string ("").

- または --or- path パラメーターで指定されたパスが存在しません。The path specified through the path parameter does not exist.

path が長すぎます。path is too long.

注釈

注意

が設定されるまで、指定したディレクトリはコンポーネントによって監視されず、はになり Path EnableRaisingEvents true ます。The component will not watch the specified directory until the Path is set, and EnableRaisingEvents is true.

このコンポーネントは、パーソナルコンピューター、ネットワークドライブ、またはリモートコンピューター上のファイルをウォッチできます。The component can watch files on your personal computer, a network drive, or a remote computer.

Windows NT または Windows 2000 がインストールされていないリモートコンピューターを見ることはできません。You cannot watch a remote computer that does not have Windows NT or Windows 2000. Windows nt 4.0 コンピューターからリモートの Windows NT 4.0 コンピューターを視聴することはできません。You cannot watch a remote Windows NT 4.0 computer from a Windows NT 4.0 computer.

こちらもご覧ください

適用対象