Y a-t-il quelque chose comme inotify sur Windows?

Avec le système d’exploitation Linux, il y a le sous-système ionotify qui notifie une application des modifications au système de fichiers.

Cependant, je suis principalement un utilisateur Windows, alors je me demandais s’il existe une méthode similaire pour surveiller les modifications du système de fichiers?

Voir l’API FindFirstChangeNotification ou l’homologue .NET FileSystemWatcher

Si vous utilisez .net , utilisez FileSystemWatcher . Plus d’infos ici: http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx

Si vous utilisez C , utilisez FindFirstChangeNotification , FindNextChangeNotification , ReadDirectoryChangesW . Plus d’infos ici: http://msdn.microsoft.com/en-us/library/aa365261(VS.85).aspx

Sur OSX , l’api correspondant est l’ fsevents .

Ils sont tous subtilement différents les uns des autres, et ils ont tous une fiabilité discutable dans les cas extrêmes. En général, vous ne pouvez pas compter sur ces apis pour une vue complète de toutes les modifications, 100% du temps. La plupart des personnes utilisant la surveillance du système de fichiers la combinent avec des parsings périodiques pour compenser les informations perdues ou incomplètes provenant de l’application Push.

jetez un coup d’oeil à ceci: inotify-win, un port de l’outil inotifywait pour Windows

et aussi ceci: inotify-tools

JNotify ou FileMon de Microsoft.

Un peu en retard mais …

Windows dispose d’une fonction similaire à celle des événements OSX: vous pouvez surveiller les événements sans exécuter d’application. Le journal Windows USN garde la trace de toutes les modifications de fichiers. Jeffrey Richter (auteur de Advanced Windows) a écrit un excellent article avec des exemples de travail pour MSDN Journal.

Documentation MSDN pour USN Change Journals.

Les Journaux de modification USN sont probablement meilleurs si vous créez des applications telles que des outils de sauvegarde ou des index qui doivent surveiller des volumes entiers.

FileSystemWatcher () n’est pas fiable, principalement en raison du fait que la gestion des erreurs pour le tampon de surveillance est plus ou moins incomplète. En raison d’un manque de chemin et d’informations détaillées sur la gestion des erreurs, Microsoft ne vous permet pas de récupérer ou d’interroger manuellement le répertoire de travail.

JNotify pour Windows est également peu fiable car ce bogue dérive de win32. JNotify utilise win32. Donc, ce n’est pas différent de FileSystemWatcher ().

J’ai fait un peu de recherche, il me semble avoir vu quelque chose de similaire pour Windows. Il y a FileSystemWatcher pour .NET. C’est principalement pour NT ou XP et en avant.

essayez la bibliothèque de notifications de fichiers Java