首页 新闻 会员 周边 捐助

怎样监控文件夹中最新增加的文件

0
悬赏园豆:10 [已解决问题] 解决于 2011-11-10 22:11

各位大侠:

  请教一个问题,我现在在一个盘中的一个文件夹中有一些log文件,是txt格式的,有很多txt的log,现在我有一个问题就是,如把系统新增加的log抓出来,就是说系统一直在添加log文件,我想在刚添加一个log之后将刚增加的log抓出来,一个文件夹估计有几千个,所以我不可能都抓出来,只能抓最新的,那么怎样检测哪些是最新增加的呢?

啊風的主页 啊風 | 初学一级 | 园豆:112
提问于:2011-11-09 09:51
< >
分享
最佳答案
3

可以考虑使用System.IO.FileSystemWatcher,订阅Created事件。

详见:http://msdn.microsoft.com/en-us/library/system.io.filesystemwatcher.aspx

收获园豆:10
dudu | 高人七级 |园豆:29568 | 2011-11-09 10:32
其他回答(4)
0

写一个WINDOWS服务!后台监控系统事件日志!

然后可以写进文本里面,已做备查!

JasNature | 园豆:451 (菜鸟二级) | 2011-11-09 10:01
0

提供一个思路,写一个小程序(或者一个windows服务),每X分钟自动运行一次(X的大小根据你的需要)。

var x = 30; //run it every 30 minutes
while (true)
{
var newLogFiles = Directory.EnumerateFiles(@"C:\logs")
.Select(f => new FileInfo(f))
.Where(i => i.CreationTime >= DateTime.Now.AddMinutes(-x))
.ToList();
//这是最近30分钟内的新log文件列表
Thread.Sleep(30*60*1000);
}
水牛刀刀 | 园豆:6350 (大侠五级) | 2011-11-09 10:25

我不是要在最近多长时间内找文件

是要实时的抓文件,文件进来了,我就copy出来

支持(0) 反对(0) 啊風 | 园豆:112 (初学一级) | 2011-11-09 10:30

@啊風: 参考楼下dudu的答案 FileSystemWatcher

支持(0) 反对(0) 水牛刀刀 | 园豆:6350 (大侠五级) | 2011-11-09 10:41
0

学习了

Impossible | 园豆:72 (初学一级) | 2011-11-09 15:51
0

FileSystemWatcher 类.OnChanged事件可以满足要求

郭大少 | 园豆:216 (菜鸟二级) | 2011-11-09 16:25
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册