Как мне взять последнюю папку и исключить старую папку с таким же именем при разархивировании файлов в C# - PullRequest
0 голосов
/ 23 апреля 2020
  1. Это мой код, когда я распаковываю все файлы .exe
  2. Я работаю над инструментом слияния патчей.
  3. Все папки должны быть объединены, кроме 1 папки с именем как "gwt" <---- эта папка должна быть самой последней из последнего ZIP-файла </p>

    // Unzip all zip files
    
    foreach (string name in fileNames)
    {
        sw.WriteLine(name);
        string zipfilePath = textBox1.Text + "\\" + name;
        //ZipFile.ExtractToDirectory(zipfilePath, textBoxUnzipRootFolder.Text);
        using (ZipArchive archive = ZipFile.OpenRead(zipfilePath))
        {
            foreach (ZipArchiveEntry entry in archive.Entries)
            {
                string unzipFileName = Path.Combine(textBox1.Text,
                    entry.FullName).Replace("/", "\\");
                string directoryPath = Path.GetDirectoryName(unzipFileName);
                if (!Directory.Exists(directoryPath))
                    Directory.CreateDirectory(directoryPath);
                if (entry.Name == "")
                    continue;
    
                entry.ExtractToFile(unzipFileName, true);
            }
        }
    }
    sw.Close();
    
    MessageBox.Show("Total " + fileNames.Count.ToString() +
            " zip files have been unzipped.");
    Close();
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...