Há uma porta do windows de inotifywait
como mencionado nos comentários chamado inotify-win
Download:
Compile:
%WINDIR%\Microsoft.NET\Framework\v4.0.30319\csc.exe /t:exe /out:inotifywait.exe src\*.cs
Uso:
$ inotifywait.exe
Usage: inotifywait [options] path [...]
Options:
-r/--recursive: Recursively watch all files and subdirectories inside path
-m/--monitor: Keep running until killed (e.g. via Ctrl+C)
-q/--quiet: Do not output information about actions
-e/--event list: Events (create, modify, delete, move) to watch,
comma-separated. Default: all
--format format: Format string for output.
--exclude: Do not process any events whose filename matches the specified regex
--excludei: Ditto, case-insensitive
Formats:
%e : Event name
%f : File name
%w : Path name
%T : Current date and time
Editar:
Se você quiser evitar uma ação mal-intencionada, a solução pode ser icacls
um sistema de arquivos NTFS
Para proteger um arquivo da exclusão:
icacls file.ext /deny Everyone:(DE)
rem To reset
icacls file.ext /reset
Para proteger uma pasta com seu conteúdo, use:
icacls folder /deny Everyone:(OI)(CI)(DE,DC)
rem To reset
icacls folder /reset
*S-1-1-0
em vez de Everyone
para independente de idioma, também %USERNAME%
para o usuário atual.