Delphi下遍历文件夹下所有文件的递归算法
来源:互联网 发布:淘宝logo设计理念 编辑:程序博客网 时间:2024/04/30 21:13
在实际开发中经常需要遍历某个文件夹及其子文件夹下的文件,看到很多人不知道如何做,忍不住写段东西与大家分享。
procedure MakeTree(var slFile: TStrings; const FileExt: string);
var
Sr : TSearchRec;
Err : integer;
TrSize, FilePath : string;
begin
Err:=FindFirst('*.*', $11, Sr) ;
While (Err = 0) do
begin
if Sr.Name[1] <> '.' then
begin
if FileExt = '' then
slFile.Add(sr.Name)
else
begin
if AnsiUpperCase(Copy(sr.Name, Length(sr.Name) - 3, 4)) = AnsiUpperCase(FileExt) then
slFile.Add(sr.Name);
end;
end;
if ((Sr.Attr and faDirectory) <> 0) AND (Sr.Name[1] <> '.') then
begin
ChDir(Sr.Name) ;
MakeTree(slFile, FileExt);
ChDir('..') ;
end ;
Err:=FindNext(Sr) ;
end ;
end;
var
Sr : TSearchRec;
Err : integer;
TrSize, FilePath : string;
begin
Err:=FindFirst('*.*', $11, Sr) ;
While (Err = 0) do
begin
if Sr.Name[1] <> '.' then
begin
if FileExt = '' then
slFile.Add(sr.Name)
else
begin
if AnsiUpperCase(Copy(sr.Name, Length(sr.Name) - 3, 4)) = AnsiUpperCase(FileExt) then
slFile.Add(sr.Name);
end;
end;
if ((Sr.Attr and faDirectory) <> 0) AND (Sr.Name[1] <> '.') then
begin
ChDir(Sr.Name) ;
MakeTree(slFile, FileExt);
ChDir('..') ;
end ;
Err:=FindNext(Sr) ;
end ;
end;
slFile 传入一个字符串列表以保存得到的结果, FileExt 为 '' 可以遍历所有文件,FileExt 指定为 ".Txt" 或者 ".mp3" 可以指定查询文件的后缀名.
如果需要将目录也返回,可以修改一下代码。
- Delphi下遍历文件夹下所有文件的递归算法
- Delphi下遍历文件夹下所有文件的递归算法
- 递归遍历某文件夹下所有文件的算法
- 递归遍历文件夹下的所有文件
- VB.net遍历路径下的所有文件及所有子文件夹---递归算法
- shell 递归遍历文件夹下所有文件
- 递归遍历文件夹下所有文件
- php递归遍历出文件夹下的所有文件和删除文件夹下的所有文件
- java 如何递归遍历一个文件夹下的所有文件
- Fat32递归遍历文件夹下的所有文件
- iOS 递归遍历文件夹及其子集下的所有文件
- 1.0使用递归操作遍历文件夹下的所有文件
- 递归遍历路径下所有文件算法
- 利用递归遍历文件夹下所有文件以及子文件夹
- Delphi 计算指定目录下所有文件的大小(遍历文件夹所有文件及目录)
- 第一篇 递归遍历文件夹下的所有文件夹
- 递归方式遍历文件夹下的所有文件及子文件夹 [php]
- 非递归遍历指定文件夹下的所有文件及其子文件夹
- 浅析java回调机制
- 实现VSTO操作WORD之二 --------实现简单控件编程例子
- 两个build.xml文件
- sap内部系统字段 (第一季)
- s1(java)项目实战(固定资产管理)(set_Asset_employe_set )
- Delphi下遍历文件夹下所有文件的递归算法
- 浅析动态代理类实现过程
- s1(java)项目实战(固定资产管理)(set_Asset_kinds_set )
- JPEG文件格式简单分析
- s1(java)项目实战(固定资产管理)(set_ Asset_kinds_set_child )
- 技术取胜=程序员的悲哀!
- s1(java)项目实战(固定资产管理)(set_ Asset_kinds_set_father )
- s1(java)项目实战(固定资产管理)(set_ Asset_manager_set )
- asp.net 定时器