TJcl7zCompressArchive问题具有100万个文件

时间:2019-06-04 12:07:46

标签: zip zipfile 7zip ziparchive

我正在尝试创建7z文件,但出现错误“ Sevenzip:错误结果(8007000E)磁盘空间不足,无法完成操作”,但是我的磁盘上有65.5 GB的可用空间。

注意:我正在尝试压缩超过100万个文件,这些文件的未压缩大小约为100 GB。

procedure TForm1.Button1Click(Sender: TObject);
var
  I : Integer;
  FileName : String;
  Zip : TJcl7zCompressArchive;
  FileList : TStringList;
begin
  FileList := fFileList(0, '', False, True, True, FileName);
  ForceDirectories(ExtractFilePath(FileName));
  Zip := TJcl7zCompressArchive.Create(FileName);
  try
    Zip.OnProgress := ProgressZip;

    for I := 0 to FileList.Count - 1 do
      begin
        Zip.AddFile(Copy(ExtractFilePath(FileList[I]),4,MaxInt) + ExtractFileName(FileList[I]), FileList[I]);
      end;


    Zip.Compress;
  finally
    FreeAndNil(FileList);
    FreeAndNil(Zip);
  end;
end;

0 个答案:

没有答案