
以前、Linuxでファイル操作の監視などを行えるツール『inotify-tools』を紹介したが、今回はそのWindows版である『inotify-win』を紹介する。 inotifyって、Linuxのカーネルの機能名だったような…まぁ、名前だけ使っているんだろう。
コンパイルには、Cygwinを利用するようだ。 もしインストールされていない場合は、こちらを参考に事前にCygwinをインストールする。
1.コンパイル・インストール
コンパイルの方法は簡単。 こちらからソース・ファイルをダウンロードしてcygwinが利用できるディレクトリで解凍、makeコマンドを実行するだけだ。
bash
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版と同じ。 以下は、実際にコマンドを実行した例。
shellC:\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」クラスを利用して実現しているんだろうか?