我正在尝试选择文件夹中的文件和文件夹进行压缩,但它似乎正在做的是选择所有文件夹直到我选择的文件夹和最终文件夹中的文件但不是那里的文件夹并将它们压缩起来。所以例如在tbFolder中我有字符串:“C:\ Users \ tomb \ Desktop \ DeOld \ Mota7”我想选择这个文件夹并压缩这个文件夹,图像和所有内容的全部内容。但最新情况如下:
它创建文件夹结构直到我想要压缩的文件夹,只添加这个文件而不是文件夹。我猜我需要调整一下这条线:
System.IO.Directory.GetFiles(DirectoryToZip)
以下是整个代码:
Private Sub btnCreate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreate.Click
Dim ZipFile As String = "C:\Releases\" & drpService.Text & "-" & DateTime.Now.ToString("YYmmDD") & ".zip"
Dim DirectoryToZip As String = tbFolder.Text
Dim filenames As String() = System.IO.Directory.GetFiles(DirectoryToZip)
Using zip As ZipFile = New ZipFile
zip.AddFiles(filenames)
zip.Save(ZipFile)
End Using
End Sub
答案 0 :(得分:1)
如果您使用DotNetZip,则在其网站上有一个示例可添加整个目录
zip.AddDirectory(DirectoryToZip, "RootFolderInZip");