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

时间:2016-04-22 12:08:22

标签: c# .net zipfile

我使用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

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:6)

要传递值为true的<?php date_default_timezone_set("Europe/Bratislava"); echo date("H:i",strtotime("20:00 America/New_York")); ?> 的最后一个参数,确定目录本身是否应作为ZIP的根目录包含在内。如果将其更改为false,则应该按照您的意愿工作。

ZIPFile.CreateFromDirectory

答案 1 :(得分:0)

如果您想将功能扩展到简单的压缩之外,还可以扩展到条件压缩

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

Creating-Zip-Files-Easily-in-NET

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

creating-directories-in-a-ziparchive-c-sharp-net-4-5