Мне нужно отслеживать папку и ее подкаталоги для любых манипуляций с файлами (добавить / удалить / переименовать). Я читал о FileSystemWatcher, но я хотел бы отслеживать изменения между каждым запуском программы или когда пользователь нажимает кнопку «проверить наличие изменений» (FSW кажется более ориентированным на обнаружение во время выполнения). Моей первой мыслью было перебрать все (под) каталоги и хэшировать каждый файл. Затем объедините все хеши (которые были заказаны) и хешируйте их. Когда я хочу проверить изменения, я повторяю процесс и проверяю, совпадают ли хэши.
Это эффективный способ сделать это?
Кроме того, как только я обнаружил изменение, как мне узнать, какой файл был добавлен, удален или переименован как можно быстрее?
В качестве примечания, я не против использовать сценарии для этого, если они быстрее, если эти сценарии не требуют от конечных пользователей установки чего-либо, и сценарии могут уведомлять мое приложение C # об изменениях.