C# - 使用 7-z 壓縮與解壓縮

摘要:C# - 使用 7-z 壓縮與解壓縮

使用 7-z 壓縮與解壓縮這技術其實滿普遍的,但沒使用過確實不知道要如何下手,花了一點時間來看了一下,使用了「Process」的方式來完成這個主題,日後若有其他寫法,再一一的寫上來與各位分享,以下就來看看...

步驟一:專案建立後,佈一下畫面先


步驟二:開始實作壓縮與解壓縮

Code:

using System.IO;
using System.Diagnostics;

namespace Using_7Zip
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        //壓縮
        private void button1_Click(object sender, EventArgs e)
        {
            Process process = new Process();
            process.StartInfo.FileName = @"C:\Program Files\7-zip\7z.exe";
            process.StartInfo.Arguments = @"a -tzip E:\DannyChang.zip C:\張小呆文件夾\ABC.txt";
            process.Start();
        }

        //解壓縮
        private void button2_Click(object sender, EventArgs e)
        {
            Process process = new Process();
            process.StartInfo.FileName = @"C:\Program Files\7-zip\7z.exe";
            process.StartInfo.Arguments = @"e E:\DannyChang.zip -oE:\ -y";
            process.Start();
        }
    }
}

補充:
在解壓縮中有一段「e E:\DannyChang.zip -oE:\ -y」的語法,最後面有一個「-y」,這是表示,當在解壓縮的目的地,有一個相同的檔案存在時,同意覆蓋過去。

參考:
7z 所提供的說明文件(文件路徑:「C:\Program Files\7-Zip\7-zip.chm」)