计算目录大小的函数,获得目录文件列表,计算文件的大小
2008-06-12 09:20
375 查看
这个函数可以获得指定目录下所有的文件路径+名称,能够递归搜索:
要获得目录的总大小,可以先用第一个函数获得所有目录下文件的列表,然后遍历这个列表,累加文件尺寸。
procedure FindAllFile(const Dir: string;List: TStringlist); var hFindFile: THandle; FindFileData: WIN32_FIND_DATA; FullName,FName,s:string; begin s:=IncludeTrailingPathDelimiter(Dir); hFindFile := FindFirstFile(pchar(s+'*.*'), FindFileData); if hFindFile <> 0 then begin repeat FName:=FindFileData.cFileName; FullName:=s+FName; if (FName='.') or (FName='..') then continue; if (FindFileData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = FILE_ATTRIBUTE_DIRECTORY then FindAllFile(FullName,List) else begin List.Add(FullName); end; until FindNextFile(hFindFile, FindFileData) = false; windows.FindClose(hFindFile); end; end; 这个函数可以获得指定文件的大小: function GetFileSizeByName(AFileName: string): Int64; var h: THandle; dwHigh,dwLow:DWORD; begin dwHigh:=0; if FileExists(AFileName) then begin h:= FileOpen(AFileName,fmOpenRead or fmShareDenyNone); dwLow:=GetFileSize(h,@dwHigh); if (dwLow = $FFFFFFFF) and (GetLastError() <> NO_ERROR) then Result:=0 else Result:= (dwHigh shl 32) + dwLow; FileClose(h); end else Result := 0; end;
要获得目录的总大小,可以先用第一个函数获得所有目录下文件的列表,然后遍历这个列表,累加文件尺寸。
相关文章推荐
- [Delphi] 计算目录大小的函数,获得目录文件列表,计算文件的大小
- ASP中获得文件大小的函数
- .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等
- C_获得当前的工作路径 _getcwd()函数:取得当前的工作目录(unix c和vc+6.0的都文件的区别)
- .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等
- java计算目录及文件个数,文件夹大小
- 多线程的对比与案例(计算目录下文件的大小)
- .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等
- php实现统计目录文件大小的函数
- 编写一个\函数解决统计文件或目录大小并转换存储单位
- shell编程: 获得目录下(包括子目录)所有文件名,路径和文件大小
- C# 获得当前文件夹内所有文件的名称,大小,类型,属性,日期的函数
- Java获得某目录下文件总大小
- php获得远程文件大小的函数
- .net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表等
- java计算目录及文件个数,文件夹大小
- Java获得某目录下文件总大小
- C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表
- Python:递归遍历目录,统计目录大小,并以列表的形式返回所有py文件
- net,C#,Ftp各种操作,上传,下载,删除文件,创建目录,删除目录,获得文件列表