DotNetZip - 添加文件夹

Dan*_*all 0 c# compression dotnetzip

我想这很简单,但我在DotNetZip示例或文档中找不到任何帮助.我需要将文件夹添加到包含文件夹和文件的zip文件中,我需要维护文件夹而不是仅压缩文件,但使用以下文件总是剥离文件夹:

 using (ZipFile zip = new ZipFile())
                {
                    string[] files = Directory.GetFiles(@TempLoc);
                    string[] folders = Directory.GetDirectories(@TempLoc);
                    zip.AddFiles(files, "Traces");

                    foreach (string fol in folders)
                    {
                        zip.AddDirectory(fol, "Traces");
                    }

                    zip.Comment = "These traces were gathered " + System.DateTime.Now.ToString("G");
                    zip.Save(arcTraceLoc + userName.Text + "-Logs.zip");
                }
Run Code Online (Sandbox Code Playgroud)

我正在使用循环,因为我找不到类似于DotNetZip中的'AddFiles'的文件夹的功能.

谢谢.

Tim*_* S. 5

我想这就是你需要的:

  bool recurseDirectories = true;
  using (ZipFile zip = new ZipFile())
  {
    zip.AddSelectedFiles("*", @TempLoc, string.Empty, recurseDirectories);
    zip.Save(ZipFileToCreate);
  }
Run Code Online (Sandbox Code Playgroud)