搜索文件,如果忽略某个文件夹
递归调用查询文件时,如果我在忽略c:\temp,怎么办?
以下是代码
procedure TCopyFile.GetFileList(const MainPath, FileName: String;
FileList: TStringList);
var
i,j:integer;
SearchRec: TSearchRec;
begin
i:= FindFirst(MainPath+'\'+FileName,faAnyFile-faDirectory,SearchRec);
//先寻找根目录下的文件
while i=0 do
begin
FileList.add(MainPath+'\'+SearchRec.name);
i :=FindNext(SearchRec);
end;
FindClose(SearchRec);
//再逐个寻找子目录中的文件
j:= FindFirst(MainPath+'\'+'*.*',faDirectory,SearchRec);
while j=0 do
begin
if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
GetFileList(MainPath + '\'+SearchRec.Name,FileName,FileList);
j :=FindNext(SearchRec);
end;
end;
问题点数:20、回复次数:3Top
1 楼conis(Conis)回复于 2005-06-03 21:30:21 得分 0
顶Top
2 楼zhou151420448(我是新手)回复于 2005-06-04 18:41:24 得分 5
用判断语句,遇到c:\temp就跳过Top
3 楼hellolongbin(一个人(自从扩充话题改版,再也不去灌水乐园了))回复于 2005-06-05 10:40:45 得分 15
if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') and (SearchRec.Name <> 'temp')then
Top




