如何从文件夹中压缩文件,但保持分开

时间:2019-05-28 08:17:06

标签: c# dotnetzip

我有1个文件夹,其中包含许多txt文件。我想将它们拉链但分开。

示例:
在此文件夹中,我有 A.txt B.txt C.txt

我想压缩所有文件,但要分开,因此结果将是 A.zip B.zip C.zip

string outputPath = "C:\\Users\\Desktop\\VA";
string path = outputPath + "\\VA_" + tglskrg;
foreach (string dirFile in Directory.GetDirectories(path))
{
    foreach (string fileName in Directory.GetFiles(dirFile))
    {
        using (ZipFile zip = new ZipFile())
        {
            zip.UseUnicodeAsNecessary = true;
            zip.AddFile(); //dont know what to put
            zip.Save(); //dont know what to put
        }
    }
}

任何帮助将不胜感激。

我正在使用dotnetzip(Ionic.zip)和C#Visual Studio Express 2010。

1 个答案:

答案 0 :(得分:0)

您可以按照以下步骤进行操作:

foreach (string fileName in Directory.GetFiles(dirFile))
{
    var zipFile = Path.Combine(outputPath, Path.ChangeExtension(fileName, ".zip"));
    using (ZipFile zip = new ZipFile())
    {
        zip.AddFile(fileName); // add A.txt to the zip file
        zip.Save(zipFile); // save as A.zip
    }
}

这将获取在文件夹dirFile中找到的所有文件,并使用相同的文件名将其保存在outputPath下,但将扩展名替换为.zip