温馨提示×

delphi怎么遍历文件夹

小亿
161
2023-12-12 23:34:07
栏目: 编程语言

在 Delphi 中,可以使用 FindFirstFindNext 函数来遍历文件夹。下面是一个示例代码:

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 过程会递归遍历指定文件夹下的所有文件和子文件夹,并输出它们的路径。你可以根据需要修改代码以执行其他操作。

0