鱼C论坛

 找回密码
 立即注册
查看: 3303|回复: 2

bat 判断文件夹大小,如果文件夹超出2GB,则删除该文件夹(注:文件夹下没有子文件夹)

[复制链接]
发表于 2017-2-7 13:54:01 | 显示全部楼层 |阅读模式
50鱼币
bat 判断文件夹大小,如果文件夹超出2GB,则删除该文件夹(注:文件夹下没有子文件夹)

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-2-7 14:33:40 | 显示全部楼层
bat是不是批处理文件意思, 你是不是想找一个用Delphi编写的判断文件大小的代码,如果大于2GB就把那个文件夹删除, 我是个新手,但是看了小甲鱼老师的Delphi第34到35讲课 ,我想应该能帮助你,要判断文件的大小一般判断文件长度是不是吗? 希望能帮助你   呵呵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-2-9 10:10:21 | 显示全部楼层
uses FileCtrl, IOUtils, IdGlobalProtocols;

function GetFolderSize(vFolder: String): Int64;
var
  sr: TSearchRec;
begin
  Result := 0;
  if FindFirst(vFolder + '*.*', faAnyFile, sr) = 0 then
    repeat
      if (sr.Name <> '.') and (sr.Name <> '..') then
      begin
        Result := Result + sr.Size;
        if (sr.Attr and faDirectory) <> 0 then
          Result := Result + GetFolderSize(vFolder + sr.Name + '\');
      end;
    until FindNext(sr) <> 0;
  FindClose(sr);
end;

procedure TForm2.Button1Click(Sender: TObject);
var
  sPath: string;
begin
  if SelectDirectory('选择文件夹', '', sPath) then
  begin
    if GetFolderSize(sPath + '\') > 2147483648 then
    begin
      if MessageDlg('文件夹大小' + inttostr(GetFolderSize(sPath + '\')
        div 1024 div 1024 div 1024) + 'GB,是否删除?', mtConfirmation, [mbYes, mbNo], 0) = mrYes
      then
        TDirectory.Delete(sPath,True);
    end;
  end;
end;
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-22 06:49

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表