Как извлечь файл из ZIP-архива без папки, используя System.IO в c# - PullRequest
0 голосов
/ 07 января 2020

В проекте WinForms я пытаюсь извлечь архив в папке назначения, но не хочу извлекать папку из архива в папке назначения.

Я хочу извлечь только файл.

Мой код:

private void button1_Click(object sender, EventArgs e)
        {

            string Info = "";


            string extractPath = @"D:\dosfiles\SYNOPD\SYNOPD$$.PD\" + comboBox3.SelectedItem.ToString() + @"\" + comboBox2.SelectedItem.ToString() + @"\";
            string zipPath = @"D:\dosfiles\" + comboBox1.SelectedItem.ToString() + "_" + comboBox2.SelectedItem.ToString() + "_" + comboBox3.SelectedItem.ToString() + "S" + ".zip";

            if (!Directory.Exists(extractPath))
            {
                Info += "Folder not exists in D:\\dosfiles\\SYNOPD\\SYNOPD$$.PD\\" + comboBox3.SelectedItem.ToString() + @"\" + comboBox2.SelectedItem.ToString() + @"\" + comboBox1.SelectedItem.ToString();
            }

            else if(Directory.Exists(extractPath))
            {
                if (Directory.Exists(extractPath))
                {
                    Directory.Delete(extractPath, true);
                }
                ZipFile.ExtractToDirectory(zipPath, extractPath);
                Info += "Your synoptic files has been extracted in  D:\\dosfiles\\SYNOPD\\SYNOPD$$.PD\\" + comboBox3.SelectedItem.ToString() + @"\" + comboBox2.SelectedItem.ToString() + @"\" + comboBox1.SelectedItem.ToString() + Environment.NewLine;
            }

            if (Info != "")
            {
                MessageBox.Show(Info);
                Application.Exit();
            }
        }
    }
}

I want to remove this folder.

...