所以我在努力调和这个概念时遇到了麻烦,因为我所做的每一项改变似乎都无法解决问题。
我有多行textbox
并且可以输入多个以逗号分隔的值,以下是详细信息:
例如,我输入我的文本框 “65635,65636” ,每个代表目录中的文件夹,即 “\ folderpath \ 65635“ 和 ”\ folderpath \ 65636“ ,我试图通过DotNetZiplib压缩这些整个文件夹,我知道如何做到这一点,如果我特意引用了一个文件夹但是在那里可以通过文本框循环获取文件夹的名称并将文件添加到一个压缩文件夹中吗?
Using zip As New ZipFile = new ZipFile
Dim files() As String = Directory.GetFiles(folderpath & textboxvalue)
For each textboxvalue in directory.getfiles
zip.Addfile(textboxvalue)
我知道zipfile
函数会循环使用这些函数而不是假设它是一个大文件。
答案 0 :(得分:1)
您必须先在数组中拆分文本框值,以获得用逗号分隔的数字。接下来,您需要将文件夹与此拆分文本值组合,正确创建路径。
如果是,请检查系统中是否存在文件夹,然后从目录中获取所有文件,并将每个文件名压缩。
这样的事情:
Using zip As New ZipFile("your zip filename")
For Each str As String In textboxvalue.Split(",")
Dim path as String = System.IO.Path.Combine(folderpath, str)
If System.IO.Directory.Exists(path) = False Then
Continue For
End If
Dim files() As String = Directory.GetFiles(path)
For Each fileName As String In files
zip.Addfile(fileName)
Next
Next
End Using