检查 Zip 文件内容并解压

Check Zip File content and extract

您好,我想提取一个包含各种文本文件的 ZipFile。但我可能是 de 文本文件在一个文件夹中。所以我想做的是:如果一个文件夹存在,如果不创建一个名为 ZipFile 的文件夹,则正常提取。原因是我不想在同名文件夹中有一个文件夹。

我以前的代码:

    foreach (string file in newZips) {

        FileInfo fileInfo = new FileInfo(file);
        string dirName = newPath + "\" + fileInfo.Name.Substring(0, fileInfo.Name.Length - 4);
        Console.WriteLine(dirName);
        Directory.CreateDirectory(dirName);
        ZipFile.ExtractToDirectory(allZipsPath + "\" + fileInfo.Name, dirName);
    }

也许这对你有帮助:

string path = @"C:\..\..\myFolder";
if(!Directory.Exists(path))
{
    Directory.CreateDirectory(path);
}

这就是您检查路径是否包含您期望的文件夹的方法。如果没有,它会创建该文件夹!

--- 编辑(如果不知道 zip-Name)---

string myPathToZip = @"C:\..\..\folderName";
foreach (string file in Directory.GetFiles(myPathToZip, "*.zip", SearchOption.AllDirectories))
{ 
    //the current path of the zipFile (with the Name included)
    var path = new FileInfo(file.ToString());

    //The filename
    var filename = Path.GetFileName(file.ToString()).Replace(".zip", "");
}