Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

[5分]如何快速读取指定目录7天内所创建的文件

小魏  发表于:2013-10-26 17:18:38  
复制

我的内网文件目录下面有好几千个文件.我只想读取创建文件日期为7天内的文件,啊有什么快速的办法啦?

我目前用

For Each f1 In fc
    dt = f1.DateCreated    '建日期和时间   
    If DateDiff("d", dt, Now) < 7 Then        
    End If
Next

件语句文件将文件全部历一遍,再判断文件的创建日期是否是7天内,但是需要至少5-10分钟以上才能运行一次.慢的无法忍受.

哪位大仙给点帮助?

 

Top
煮江品茶 发表于:2013-10-26 18:48:12


1、 ‪写一个程序,这个程序将运行10分钟左右,这个10分钟中将遍历所有文件,然后分别按照文件的创建时间,创建若干个按年和月命名的文件夹,并把文件按照这个分类方法移动到这些文件夹中。

2、日常查询时,用几毫秒遍历format(date,"yyyymm")这个文件夹,查到近七日的文件。

 

也就是说,用10分钟进行分类,然后利用这10分钟的成果,做几毫秒的日常工作。



chinasa 发表于:2013-10-26 19:30:43

是否可以进行排序,这样只判断最后7天就可以,具体我没弄过,发给网上的地址给你参考吧。

http://www.docin.com/p-133786456.html

 



小魏 发表于:2013-10-26 21:09:36

谢谢前辈的回复,我的问题是,这几千个文件是一台精密仪器自动生成的数据库文件(每个文件有4个表,每个表有几百条记录),修改或重命名以及更改位置等都会造成这个仪器无法读取历史记录.

而且这些文件以每天100个数目在增加.我想将这些数据进行速理和分析并导入到一个分析系统中.基本上是想当一个新的文件生成时,就立即取到这个文件并自动导入数据.

文件的目录在网络上的硬盘上.基本上历遍这个目录的所有文件,再加上判断文件的创建日期,这就需要5分钟以上,再将符合条件的文件打开并导入所有的数据,基本个要10分钟了.

如果是读取所有文件后再排序,估计时间并没有节约.所以,最理想的想法是,直接调用WINDOWS自带的排序功能,取前100个文件,然后再进行判定.这样就可以承受了.只是不了解如何实现,还前各位前辈给指条活路啊.



cspa 发表于:2013-10-26 22:02:31
如果“是一台精密仪器自动生成的数据库文件”,那它的命名是否是有规律的呢?直接按命名规律“取到这100个文件并自动导入数据”不行吗?

总记录:4篇  页次:1/1 9 1 :