鱼C论坛

 找回密码
 立即注册
查看: 2918|回复: 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 | 显示全部楼层
  1. uses FileCtrl, IOUtils, IdGlobalProtocols;

  2. function GetFolderSize(vFolder: String): Int64;
  3. var
  4.   sr: TSearchRec;
  5. begin
  6.   Result := 0;
  7.   if FindFirst(vFolder + '*.*', faAnyFile, sr) = 0 then
  8.     repeat
  9.       if (sr.Name <> '.') and (sr.Name <> '..') then
  10.       begin
  11.         Result := Result + sr.Size;
  12.         if (sr.Attr and faDirectory) <> 0 then
  13.           Result := Result + GetFolderSize(vFolder + sr.Name + '\');
  14.       end;
  15.     until FindNext(sr) <> 0;
  16.   FindClose(sr);
  17. end;

  18. procedure TForm2.Button1Click(Sender: TObject);
  19. var
  20.   sPath: string;
  21. begin
  22.   if SelectDirectory('选择文件夹', '', sPath) then
  23.   begin
  24.     if GetFolderSize(sPath + '\') > 2147483648 then
  25.     begin
  26.       if MessageDlg('文件夹大小' + inttostr(GetFolderSize(sPath + '\')
  27.         div 1024 div 1024 div 1024) + 'GB,是否删除?', mtConfirmation, [mbYes, mbNo], 0) = mrYes
  28.       then
  29.         TDirectory.Delete(sPath,True);
  30.     end;
  31.   end;
  32. end;
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-23 17:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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