Windows提供了一个名为FindFirstChangeNotification的文件更改通知API,具体信息请参见http://msdn.microsoft.com/en-us/library/aa365261(VS.85).aspx。事实证明,已经有人为此制作了一个小型的Ruby桥接器,可以用作起点:http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/36807。
我尝试了几个,对于Vista来说wdm效果最好。 require 'wdm' monitor = WDM::Monitor.new monitor.watch_recursively('c:\test') { |change| puts change.path } monitor.run!