DotNetZip - 添加文件夹

时间:2013-10-21 17:14:27

标签: 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");
                }

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

感谢。

1 个答案:

答案 0 :(得分:5)

我认为这就是你所需要的:

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