如何使用System.IO.Compression仅压缩当前目录

本文关键字:压缩 当前目录 Compression IO 何使用 System | 更新日期: 2023-09-27 18:31:32

没有

明显的方法或参数可以做到这一点。

ZipFile.CreateFromDirectory包括所有子目录

我可以循环当前目录文件并添加到 zip 文件 ZipArchive但这假设已经存在一个 ZIP 文件来添加文件。除非我在某处创建一个空的 ZIP 文件并将其复制到目的地,但这似乎不优雅。

如何使用System.IO.Compression仅压缩当前目录

关系刚刚发现这会创建一个新的空zip文件。

            string[] filePaths = Directory.GetFiles(item.Path, "*", SearchOption.TopDirectoryOnly);
            using (ZipArchive zip = ZipFile.Open(item.Path2, ZipArchiveMode.Create))
            {
                foreach (string filePath in filePaths)
                {
                    zip.CreateEntryFromFile(filePath, Path.GetFileName(filePath));
                }
            }