これは非常に単純だと思いますが、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」に似たフォルダーの関数が見つからなかったため、ループを使用しています。
ありがとう。