如何搜索某个文件夹下面的的某个文件、所有文件?

8water 2003-10-10 10:38:56
问题1 如何在某个文件夹下面搜索某个文件夹,比如我想在D盘的AA文件夹下面 搜索 AAA的文件夹,把它找出来?如何做。
问题2 如何列出某个文件夹下面的所有文件。比如我要找出D盘的AA文件夹下面的所有文件,如和做?
请高手 指点,先谢了!·
...全文
389 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcfzcf001 2003-10-16
  • 打赏
  • 举报
回复
lhzwxt(lhcz_wxt)方法对
huojiehai 2003-10-15
  • 打赏
  • 举报
回复
看看这个
http://haitian.myrice.com/Soft/MyPubFuncUnit.Txt
lhzwxt 2003-10-15
  • 打赏
  • 举报
回复
需要用递归过程对某个子目录全部遍历
vagerent 2003-10-15
  • 打赏
  • 举报
回复
那要是搜索d盘根目录呢?
dickeybird888 2003-10-15
  • 打赏
  • 举报
回复
我给你第一个问题的例子,比如我要搜索d:\下的chenhu2目录,如下:
procedure TForm1.Button1Click(Sender: TObject);
var
SearchRec:TSearchRec;
apppath,ext:string;
begin
listbox1.Items.Clear;
AppPath:='d:\*.*';
ext:='chenhu2';
FindFirst(AppPath,faDirectory,SearchRec);
if SearchRec.Name=ext then
listbox1.Items.Add(SearchRec.Name);
while FindNext(SearchRec)=0 do
if SearchRec.Name=ext then
listbox1.Items.Add(SearchRec.Name);
// listbox1.items为你需要的结果
end;
7pin 2003-10-10
  • 打赏
  • 举报
回复
源码如下,源码实现了在窗体关闭后将特定的文件删除:
procedure TMainForm.FormClose(Sender: TObject; var Action: TCloseAction);
var
Fsearchrec:Tsearchrec;
findresult:integer;
begin
//=============================删除执行文件(假设为TT.exe)所在目录下的临时文件.
findresult:=findfirst(extractfilepath('TT.exe')+'*.tmp',faanyfile,Fsearchrec);
try
while findresult=0 do
begin
deletefile(extractfilepath('TT.exe')+fsearchrec.name);
findresult:=findnext(fsearchrec);
end;
finally
findclose(fsearchrec);
end;
//============================删除固定目录“c:\temp”下的扩展名为“.tmp”的临时文件.
{ findresult:=findfirst('c:\temp\'+'*.tmp',faanyfile,Fsearchrec);
try
while findresult=0 do
begin
deletefile('c:\temp\'+fsearchrec.name);
findresult:=findnext(fsearchrec);
end;
finally
findclose(fsearchrec);
end;}
//=============================
end;

“*.tmp”可用具体的文件名或其他通配符代换。

别忘了给我加分:)
dickeybird888 2003-10-10
  • 打赏
  • 举报
回复
1.问题和2问题可以用相同的方法!
2.
procedure TForm1.Button1Click(Sender: TObject);
var
SearchRec:TSearchRec;
ext,AppPath:string;
begin
listbox1.Items.Clear;
AppPath:='d:\aa\';
ext:='*.*';
FindFirst(AppPath+ext,faAnyFile-faDirectory,SearchRec);
listbox1.Items.Add(SearchRec.Name);
while FindNext(SearchRec)=0 do
listbox1.Items.Add(SearchRec.Name);
listbox1.items为你需要的结果
end;
aiirii 2003-10-10
  • 打赏
  • 举报
回复
用 filefindfirst ,filefindnext 等相关 api函数就可!!

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧