1

我正在尝试使用 DotNetZip 在 C#.NET 中创建一个 zip 文件。但是,我确实需要不时包含空文件夹。这可能吗?有什么技巧可以实现吗?

4

2 回答 2

5

有一个 AddDirectory 函数:

zipFile.AddDirectory("\\Your\Directory\Path\");

我相信空目录必须已经存在于您要从中压缩的位置,因此您可能需要首先在服务器上创建空目录。 这里有一些例子。

于 2013-04-19T15:24:06.440 回答
1

McCee 的解决方案不太适合我。然而,这确实:

首先,我们获取压缩文件路径中的所有空目录。然后我们使用 AddDirectoryByName 将其附加到 zip 对象中,即

foreach (var folder in Directory.GetDirectories(pathOfFilesToZip).Where(x => !Directory.EnumerateFileSystemEntries(x).Any()))
{
    zip.AddDirectoryByName(Path.GetFileName(folder));
}       
于 2015-04-21T14:32:21.143 回答