阅读量:4
在 Delphi 中,可以使用 FindFirst
和 FindNext
函数来遍历文件夹。下面是一个示例代码:
procedure TraverseFolder(const AFolder: string); var SR: TSearchRec; IsFound: Boolean; begin // 搜索文件夹中的第一个文件/文件夹 IsFound := FindFirst(AFolder + '\*', faAnyFile, SR) = 0; while IsFound do begin // 忽略 "." 和 ".." 文件夹 if (SR.Name <> '.') and (SR.Name <> '..') then begin if (SR.Attr and faDirectory) = faDirectory then begin // 当前找到的是文件夹 Writeln('文件夹:', AFolder + '\' + SR.Name); // 递归遍历子文件夹 TraverseFolder(AFolder + '\' + SR.Name); end else begin // 当前找到的是文件 Writeln('文件:', AFolder + '\' + SR.Name); end; end; // 继续搜索下一个文件/文件夹 IsFound := FindNext(SR) = 0; end; // 关闭搜索 FindClose(SR); end; // 使用示例 procedure TForm1.Button1Click(Sender: TObject); var FolderPath: string; begin FolderPath := 'C:\YourFolderPath'; TraverseFolder(FolderPath); end;
在上面的示例代码中,TraverseFolder
过程会递归遍历指定文件夹下的所有文件和子文件夹,并输出它们的路径。你可以根据需要修改代码以执行其他操作。