某文件夹下有几万个文件,现在要每隔5分钟一次删除其中日期早于某天而且其文件名在数据库黑名单上的100个文件.因为某种原因不能使用遍历文件夹的方法.怎样删除? 给出算法即可.
另外问:怎样使目录下的文件按照时间排序?
另外问:怎样使目录下的文件按照时间排序?
解决方案 »
- 在代理环境下如何使用IdSMPT自动发送邮件如果
- 菜单句柄问题
- 帮忙看个SQL语句。为什么在sqlserver2000里可以执行通过。但是在delphi里面无法通过~~~~~~~~~~~~~~~
- 树节点获得焦点时改其图标,怎样实现?
- 东西太多了,设计的时候一张A4的报表不能容纳?怎么办????急!!!!
- 如何获得Word文件中所有的标题和其级别
- 请问,我在窗体上使用了notebook控件,在执行formclose的时候,有错误提示‘control NoteBookhas no parent window',请问是什么问题??
- 控制报表打印纸张大小
- 怎样自动弹出窗口????????????
- dephi向SQL传递参数出现转换错误
- 有关FTP组件?
- 求一非阻塞模式下的,多线程上传文件的代码,190分给一人,其余大家分
TimeType: Integer): TDateTime;
var
ffd:TWin32FindData;
dft:DWord;
lft,Time:TFileTime;
H:THandle;
begin
H:=Windows.FindFirstFile(PChar(sFileName),ffd);
case TimeType of
0: Time:=ffd.ftCreationTime;
1: Time:=ffd.ftLastWriteTime;
2: Time:=ffd.ftLastAccessTime;
end; //获取文件信息
if (H <> INVALID_HANDLE_VALUE) then
begin
Windows.FindClose(H);
//转换FILETIME格式成为local FILETIME格式
FileTimeToLocalFileTime(Time,lft);
//转换FILETIME格式成为DOStime格式
FileTimeToDosDateTime(lft,LongRec(dft).Hi,LongRec(dft).Lo);
//最后,转换DOStime格式成为Delphi's应用的TdateTime格式
Result:=FileDateToDateTime(dft);
end
else
result:=0;
end;
该算法的问题:如果文件没按照时间排序,那么如果前面1000个文件都不符合删除条件那就完蛋了.
问题中忘了说:如果文件产生时间在15天前的则无条件删除