获取一个文件夹下的所有文件
2013-12-21 12:11
302 查看
![](http://images.cnitblog.com/blog/300447/201312/21121039-5dc2b2d46fdc468ba80ef90deae6d7f5.png)
获取一个文件夹下的所有文件
//不包括文件夹里面的文件
// 注意,path后面不要有要有'\'; // Memo1.Lines := Searchfile('C:\Users\Admin\Desktop\名人格言\Win32\Release\Data'); function Searchfile(path: string): TStringList; var SearchRec: TSearchRec; found: integer; begin Result := TStringList.Create; found := FindFirst(path + '\' + '*.*', faAnyFile, SearchRec); while found = 0 do begin if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') and (SearchRec.Attr <> faDirectory) then Result.Add(SearchRec.Name); found := FindNext(SearchRec); end; FindClose(SearchRec); end;
获取一个文件夹下的所有文件
//包括文件夹里面的文件
uses Masks; // procedure TForm1.Button1Click(Sender: TObject); // begin // Memo1.Lines.Clear; // GetFileListEx('Z:\', '*.*', Memo1.Lines, False); // Caption:=IntToStr(Memo1.Lines.count); // end; // // procedure TForm1.Button2Click(Sender: TObject); // begin // // Memo1.Lines.Clear; // GetFileListEx('Z:\', '*.cs', Memo1.Lines, true); /// /GetFileListEx('Z:\', '*.cs;*.txt', Memo1.Lines, true); // Caption:=IntToStr(Memo1.Lines.count); // end; // 遍历目录及子目录 procedure GetFileListEx(FilePath, ExtMask: string; FileList: TStrings; SubDirectory: Boolean = True); function Match(FileName: string; MaskList: TStrings): Boolean; var i: integer; begin Result := False; for i := 0 to MaskList.Count - 1 do begin if MatchesMask(FileName, MaskList[i]) then begin Result := True; break; end; end; end; var FileRec: TSearchRec; MaskList: TStringList; begin if DirectoryExists(FilePath) then begin if FilePath[Length(FilePath)] <> '\' then FilePath := FilePath + '\'; if FindFirst(FilePath + '*.*', faAnyFile, FileRec) = 0 then begin MaskList := TStringList.Create; try ExtractStrings([';'], [], PChar(ExtMask), MaskList); FileList.BeginUpdate; repeat if ((FileRec.Attr and faDirectory) <> 0) and SubDirectory then begin if (FileRec.Name <> '.') and (FileRec.Name <> '..') then GetFileListEx(FilePath + FileRec.Name + '\', ExtMask, FileList); end else begin if Match(FilePath + FileRec.Name, MaskList) then FileList.Add( { FilePath + } FileRec.Name); end; until FindNext(FileRec) <> 0; FileList.EndUpdate; finally MaskList.Free; end; end; FindClose(FileRec); end; end; procedure TForm1.FormCreate(Sender: TObject); begin Memo1.Lines.Clear; GetFileListEx('C:\Users\Admin\Desktop\名人格言\Win32\Release\Data', '*.txt',Memo1.Lines, False); end;
相关文章推荐
- c++如何获取一个文件夹下面的所有文件
- C#控制台基础 directory获取一个文件夹中所有文件的绝对路径(不包括文件夹)
- 获取一个文件夹下所有文件的大小
- C#控制台基础 directory获取一个文件夹中所有文件及文件夹的绝对路径
- java获取一个文件夹中所有文件的名称
- MFC获取一个文件夹下某文件格式的所有文件名,并显示到 CListBox 上
- JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件
- java获取一个目录下的所有的文件或文件夹名称
- 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件
- 如何是获取一个文件夹里所有以.java结尾文件的数目,并把符合条件的文件名写到一个目录下。
- delphi 获取一个文件夹下的所有文件【转】
- python如何获取一个文件夹内包括子文件夹所有文件的名字和路径
- 获取一个想要的指定文件的集合,获取文件夹下(包含子目录的所有.java的文件对象,并存储到集合中)
- VC++获取一个文件夹下所有文件的文件名或者给定类型文件的文件名
- 获取一个文件夹下的所有文件
- JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件
- JAVA 一个简单的文件写入代码(遍历文件夹获取所有文件、写入缓冲池、获取文件绝对路径、按后缀名过滤文件)
- C#控制台基础 directory获取一个文件夹下所有文件的名字(不包含文件夹)
- 获取一个目录里的所有文件夹和文件
- 获取一个指定文件夹下的所有文件