【原创】清空目录(附源码)

        删除目录,必须要保证该目录为空,即不能存在任何文件和子目录,才能删除该目录,否则删除不掉该目录。以下代码就是用来清空目录的,删除一个目录里的所有文件包括子目录。使用了递归调用。


procedure  ClearDir(path: string);
var
  FSearchRec: TSearchRec;
  FindResult: shortint;
begin
  FindResult := FindFirst(path + '*.*', faAnyFile, FSearchRec);
  try
    while FindResult = 0 do
    begin
      if ((FSearchRec.Attr and faDirectory) = faDirectory)
        and (FSearchRec.Name <> '.') and (FSearchRec.Name <> '..') then
      begin
        ClearDir(path + FSearchRec.Name + '/');
        RemoveDir(path + FSearchRec.Name);
      end
      else if (FSearchRec.Attr and faDirectory) <> faDirectory then
        DeleteFile(path + FSearchRec.Name);
      FindResult := FindNext(FSearchRec);
    end;
  finally
    FindClose(FSearchRec);
  end;
end;

FindFirst:命令对指定的文件名及属性搜索目录。
FindNext:命令返回与文件名及属性匹配的下一入口。
RemoveDir:删除目录,要保证该目录为空。
DeleteFile:删除文件。
关于这些函数详细解释请参考Delphi帮助。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值