0

以下の C# コードを使用して、ファイル システムのすべての変更 (ファイルの名前変更や作成など) をキャッチしましたが、うまく機能します。しかし、パスを「D:\」から「\\ServerName\folder」に変更すると、プログラムが機能しなくなります。しかし、MSDN FileSystemWatcher クラスの説明では悲しい:「...ローカル コンピューター、ネットワーク ドライブ、またはリモート コンピューター上のファイルを監視するコンポーネントを作成できます...」 .

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace consoleWatcher
{
    class Program
    {
        static void Main(string[] args)
        {
            FileSystemWatcher myWatcher = new FileSystemWatcher("D:\\");
            myWatcher.NotifyFilter = NotifyFilters.LastAccess | NotifyFilters.LastWrite  | NotifyFilters.FileName | NotifyFilters.DirectoryName;

            myWatcher.Changed += new FileSystemEventHandler(OnChanged);
            myWatcher.Created += new FileSystemEventHandler(OnChanged);
            myWatcher.Deleted += new FileSystemEventHandler(OnChanged);
            myWatcher.Renamed += new RenamedEventHandler(OnRenamed);

            myWatcher.IncludeSubdirectories = true;
            myWatcher.EnableRaisingEvents = true;

            Console.Read();

        }

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

    }
}
4

1 に答える 1