Как создать службу мониторинга Windows (C #) для нескольких каталогов, чтобы сканировать новые файлы и (если они есть) редактировать, переименовывать, перемещать их в другое место? Я создал WorkerTask()
, но он работает только для файлов, которые находятся в каталоге при запуске службы, а не для тех, которые я поместил туда позже. Он должен работать 24/7.
private void WorkerTask() {
while (running) {
// only 1 input dir in this case
string[] filePaths = Directory.GetFiles(input_dir, "*.jpg");
if (filePaths.Lenght > 0)
{
foreach (String file_path in filePaths)
{
// some other operations before moving
File.Move(file_path, output_file_path);
}
}
}
}
Как я могу постоянно сканировать новые (только полные!) Файлы, которые загружаются в эту папку? Он должен работать с задержкой не более 2-3 секунд между сканированиями, поэтому, как только файл попадает в папку, он обрабатывается и перемещается. Я видел FileSystemWatcher()
, но я думаю, что попытка реализовать его для нескольких входных папок может быть плохой идеей.