#c# #.net #windows
#c# #.net #Windows
Вопрос:
В настоящее время я играю с классом FileSystemWatcher, хотел узнать, как указать путь к каталогу, но также все его дочерние файлы являются папками. Таким образом, он будет искать любые изменения в любом месте C: например C:Program Файлы тест и т.д.
string DirPath = "C:\*.*";
Я попытался добавить . к прямому пути, но безуспешно
Исходный код ниже:
static void Main(string[] args)
{
string DirPath = "C:\*.*";
FileSystemWatcher FileWatcher = new FileSystemWatcher(DirPath);
FileWatcher.Changed = new FileSystemEventHandler(FileWatcher_Changed);
FileWatcher.Created = new FileSystemEventHandler(FileWatcher_Created);
FileWatcher.Deleted = new FileSystemEventHandler(FileWatcher_Deleted);
FileWatcher.Renamed = new RenamedEventHandler(FileWatcher_Renamed);
FileWatcher.EnableRaisingEvents = true;
Console.ReadKey();
}
Ответ №1:
Используйте свойство FileSystemWatcher IncludeSubdirectories.
Если вы добавите строку
FileWatcher.IncludeSubdirectories = true;
он будет отслеживать все подкаталоги по указанному пути.
Комментарии:
1. Не могли бы вы привести пример, пожалуйста?
Ответ №2:
Размещать уведомление об изменении файла на всем C: — ужасная идея — если вы действительно хотите отслеживать весь том, вам, вероятно, следует использовать журнал USN