【发布时间】:2020-02-24 18:49:48
【问题描述】:
我需要创建包含多个文件的 zip 文件夹,这些文件具有相同的文件名,但文件扩展名不同。例如,在一个文件夹中,我将拥有:
- 字段 1.shp
- 字段 1.shx
- 字段 1.prj
- 字段 1.dbf
- 字段 2.shp
- 字段 2.shx
- 字段 2.prj
- 字段 2.dbf
等等。
我需要将所有字段 1 文件一起压缩到字段 1.zip 中,字段 2 文件一起压缩到字段 2.zip 等中,循环遍历文件夹。
我现在在这里:
Private Sub btnZipFiles_Click(sender As Object, e As EventArgs) Handles btnZipFiles.Click
Dim dir = SelectedPath.Text
Dim reqextensions As String = "*.dbf,*.prj,*.shp,*.shx"
Dim files = Directory.EnumerateFiles(dir, "*.*", SearchOption.AllDirectories)
For Each file In files
Using zip As New ZipFile
zip.AddFile(file, "")
zip.Save(file + ".zip")
End Using
Next
End Sub
我添加了“dotnetzip”和导入的 Ionic.zip。上面的代码将分别压缩每个 .dbf、.prj、.shp 和 .shx 文件,但我对如何将每个 4 个文件合并为一个 zip 文件感到困惑。
提前谢谢你。
【问题讨论】:
-
您正在使用的命令
CreateFromDirectory使用文件夹中的所有文件,您无法使用此方法过滤文件。如果您不想将文件移动到它们自己的文件夹中,那么您需要使用不同的方法。尝试:ZipFileExtensions.CreateEntryFromFile方法docs.microsoft.com/en-us/dotnet/api/…
标签: vb.net