核桃哥 发表于 2017-2-7 13:54:01

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

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

谦虚求学 发表于 2017-2-7 14:33:40

bat是不是批处理文件意思, 你是不是想找一个用Delphi编写的判断文件大小的代码,如果大于2GB就把那个文件夹删除, 我是个新手,但是看了小甲鱼老师的Delphi第34到35讲课 ,我想应该能帮助你,要判断文件的大小一般判断文件长度是不是吗? 希望能帮助你   呵呵

aminghanhua 发表于 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, , 0) = mrYes
      then
      TDirectory.Delete(sPath,True);
    end;
end;
end;
页: [1]
查看完整版本: bat 判断文件夹大小,如果文件夹超出2GB,则删除该文件夹(注:文件夹下没有子文件夹)