FileSystemWatcher - правильный ответ, за исключением того, что раньше FileSystemWatcher работал только для «нескольких» изменений одновременно. Это было из-за буфера операционной системы. На практике, когда копируется много небольших файлов, буфер, содержащий имена файлов, которые были изменены, переполняется. Этот буфер на самом деле не является правильным способом отслеживания последних изменений, так как ОС должна была бы прекратить запись, когда буфер заполнен, чтобы предотвратить переполнение.
Вместо этого Microsoft предоставляет другие средства (РЕДАКТИРОВАТЬ: например, журналы изменений), чтобы действительно фиксировать все изменения. По сути, это средства, которые используют системы резервного копирования, и они сложны в отношении событий, которые записываются. И также плохо документированы.
Простой тест состоит в том, чтобы сгенерировать большое количество маленьких файлов и посмотреть, сообщается ли обо всех файлах FileSystemWatcher. Если у вас есть проблема, я предлагаю обойти всю проблему и сканировать файловую систему на наличие изменений через определенный промежуток времени.