繁体   English   中英

C#ZipFile:仅压缩文件夹的内容

[英]C# ZipFile: zip only the contents of a folder

我正在使用ZipFile.CreateFromDirectory方法在C#中压缩目录:

private void createZIP()
{
    string startPath = @"c:\example\start";
    string zipPath = @"c:\example\result.zip";
    ZipFile.CreateFromDirectory(startPath, zipPath,  CompressionLevel.Fastest, true); 
}

它通常可以正常工作,但是我只想要zip文件中/ start /文件夹的内容,而不是目录本身。

现在:

result.zip
--start
---- file1.txt
---- file2.txt

我要的是:

result.zip
-- file1.txt
-- file2.txt

我该如何实现?

您要ZIPFile.CreateFromDirectory传递值true的ZIPFile.CreateFromDirectory的最后一个参数确定目录本身是否应作为ZIP的根包含在内。 如果将其更改为false,它应该可以按您的意愿工作。

ZipFile.CreateFromDirectory(startPath, zipPath,  CompressionLevel.Fastest, false); 

如果您想将功能从简单的压缩扩展到有条件的压缩

使用以下链接部分[从现有的Zip文件添加或删除文件]

轻松在Internet中创建压缩文件

并使用以下链接创建空目录

在ziparchive-c-sharp-net-4-5中创建目录

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM