Windowsでinotify-toolsを使おう!『inotify-win』

以前、Linuxでファイル操作の監視などを行えるツール『inotify-tools』を紹介したが、今回はそのWindows版である『inotify-win』を紹介する。 inotifyって、Linuxのカーネルの機能名だったような…まぁ、名前だけ使っているんだろう。

コンパイルには、Cygwinを利用するようだ。 もしインストールされていない場合は、こちらを参考に事前にCygwinをインストールする。

1.コンパイル・インストール

コンパイルの方法は簡単。 こちらからソース・ファイルをダウンロードしてcygwinが利用できるディレクトリで解凍、makeコマンドを実行するだけだ。

wget https://github.com/thekid/inotify-win/archive/master.zip -O inotify-win.zip
unzip inotify-win.zip
cd inotify-win.zip
make

あとは、出来上がった実行ファイル『inotifywait.exe』を任意のディレクトリに移動するだけだ。

2.コマンドの実行

コマンドの実行方法はLinux版と同じ。 以下は、実際にコマンドを実行した例。

C:\Users\Work>inotifywait.exe -mr C:\Users\Work
===> Monitoring for All in C:\Users\Work -r for create, modify, delete, move
C:\Users\Work\AppData\Local MODIFY,ISDIR Temp
C:\Users\Work\AppData\Local\Temp DELETE 31C.tmp
C:\Users\Work\AppData\Local MODIFY,ISDIR Temp
C:\Users\Work MODIFY ntuser.dat.LOG1
C:\Users\Work MODIFY NTUSER.DAT
C:\Users\Work MODIFY NTUSER.DAT
C:\Users\Work MODIFY NTUSER.DAT
C:\Users\Work\AppData\Local\Microsoft\Windows MODIFY UsrClass.dat.LOG1
C:\Users\Work\AppData\Local\Microsoft\Windows MODIFY UsrClass.dat
C:\Users\Work\AppData\Local\Microsoft\Windows MODIFY UsrClass.dat
C:\Users\Work\AppData\Local\Microsoft\Windows MODIFY UsrClass.dat
C:\Users\Work\Documents\WORK CREATE 新しいテキスト ドキュメント.txt
C:\Users\Work\Documents MODIFY,ISDIR WORK
C:\Users\Work MODIFY ntuser.dat.LOG1
C:\Users\Work MODIFY NTUSER.DAT
C:\Users\Work MODIFY NTUSER.DAT
C:\Users\Work MODIFY NTUSER.DAT
C:\Users\Work\AppData\Local\Microsoft\Windows MODIFY UsrClass.dat.LOG1
C:\Users\Work\AppData\Local\Microsoft\Windows MODIFY UsrClass.dat
C:\Users\Work\AppData\Local\Microsoft\Windows MODIFY UsrClass.dat
C:\Users\Work\AppData\Local\Microsoft\Windows MODIFY UsrClass.dat
C:\Users\Work\Pictures CREATE 20150425-000000.JPG
C:\Users\Work MODIFY,ISDIR Pictures
C:\Users\Work\Pictures MODIFY 20150425-000000.JPG
C:\Users\Work MODIFY ntuser.dat.LOG1
C:\Users\Work MODIFY NTUSER.DAT
C:\Users\Work MODIFY NTUSER.DAT
C:\Users\Work MODIFY NTUSER.DAT
C:\Users\Work\AppData\Local\Temp CREATE etilqs_wQJckVuLBXRmomM
C:\Users\Work\AppData\Local MODIFY,ISDIR Temp
C:\Users\Work\AppData\Local\Google\Chrome\User Data\Default MODIFY Cookies-journal
C:\Users\Work\AppData\Local\Google\Chrome\User Data\Default MODIFY Cookies-journal
C:\Users\Work\AppData\Local\Google\Chrome\User Data\Default MODIFY Cookies
C:\Users\Work\AppData\Local\Temp DELETE etilqs_wQJckVuLBXRmomM
C:\Users\Work\AppData\Local\Google\Chrome\User Data\Default MODIFY Cookies-journal
C:\Users\Work\AppData\Local\Microsoft\Windows MODIFY UsrClass.dat.LOG1
C:\Users\Work\AppData\Local\Microsoft\Windows MODIFY UsrClass.dat
C:\Users\Work\AppData\Local\Microsoft\Windows MODIFY UsrClass.dat
C:\Users\Work\AppData\Local\Microsoft\Windows MODIFY UsrClass.dat

確かに、Linux版と同じように利用することが出来る。 これはこれで便利だ。

Windows版の場合は、「FileSystemWatcher」クラスを利用して実現しているんだろうか?