关于网友提出的“ 紧急求救,如何才能输入某一硬盘路径,得到,此路径中所有的文件名,包括下级文件夹中的,”问题疑问,本网通过在网上对“ 紧急求救,如何才能输入某一硬盘路径,得到,此路径中所有的文件名,包括下级文件夹中的,”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 紧急求救,如何才能输入某一硬盘路径,得到,此路径中所有的文件名,包括下级文件夹中的,
描述: 如题,怎么做啊,大家帮帮俺阿,是路径下全部文件,包括其中文件夹里的,谢谢,大家,很急得啊,
解决方案1: //------------------------------------------------------------------------------
//
// 在指定的目录中查找指定子目录下的所有文件
// 参数:
// sDir : 指定的目录
// fDir : 指定目录下的子目录
// DirList : 用于保存找到的目录
// FileList : 用于保存找到的文件
//
//------------------------------------------------------------------------------
procedure SearchFile(sDir, fDir: String; var DirList, FileList: TStringList);
var
Found: Integer;
SearchRec: TSearchRec;
begin
Found := FindFirst(sDir + fDir + '\*.*', faAnyFile, SearchRec); //查找所有文件
While Found = 0 do
begin
if SearchRec.Attr = faDirectory then //如果找到的是目录
begin
if (SearchRec.Name = '.') or (SearchRec.Name = '..') then
begin //是 '.' 目录或 '..' 目录
Found := FindNext(SearchRec); //查找下一个
Continue; //返回
end;
DirList.Add(fDir + '\' + SearchRec.Name); //添加目录
//继续查找下一级子目录
SearchFile(sDir, fDir + '\' + SearchRec.Name, DirList, FileList);
Found := FindNext(SearchRec); //查找下一个
Continue;
end;
FileList.Add(fDir + '\' + SearchRec.Name); //添加文件
Found := FindNext(SearchRec);
end;
FindClose(SearchRec);
end;
解决方案2: procedure FindAllFile(sPath:String);
var
sFile:String;
sr: TSearchRec;
begin
if RightStr(sPath,1)<>'\' then sPath:=sPath+'\';
if FindFirst(sPath+'*.*',faAnyFile, sr) = 0 then
begin
repeat
sFile:=Trim(sr.Name);
if sFile='.' then Continue;
if sFile='..' then Continue;
sFile:=sPath+sr.Name;
if (sr.Attr and faDirectory)<>0 then
FindMp3(sFile)
else if (sr.Attr and faAnyFile) = sr.Attr then
ShowMessage(sFile);
until FindNext(sr) <> 0;
FindClose(sr);
end;
end;
以上介绍了“ 紧急求救,如何才能输入某一硬盘路径,得到,此路径中所有的文件名,包括下级文件夹中的,”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/2751123.html