您的位置:首页 > 编程语言 > C#

C# 利用WinRAR (加密)压缩及解压缩 相关文件夹及文件

2013-10-30 17:56 603 查看
本次示例主要实现:

1.压缩文件夹及其下文件

2.压缩文件夹下文件

3.压缩文件夹及其下文件为rar 还是 zip

4.解压缩

5.加密压缩及解加密压缩

-----------

示例代码如下:

protected void Button1_Click(object sender, EventArgs e)

    {

        string strtxtPath = "C:\\freezip\\free.txt";

        string strzipPath = "C:\\freezip\\free.zip";

        System.Diagnostics.Process Process1 = new System.Diagnostics.Process();

        Process1.StartInfo.FileName = "Winrar.exe";

        Process1.StartInfo.CreateNoWindow = true;

        //// 1

        ////压缩c:\freezip\free.txt(即文件夹及其下文件freezip\free.txt)

        ////到c:\freezip\free.rar

        //strzipPath = "C:\\freezip\\free";//默认压缩方式为 .rar

        //Process1.StartInfo.Arguments = " a -r " + strzipPath + " " + strtxtPath;

        //// 2

        ////压缩c:\freezip\free.txt(即文件夹及其下文件freezip\free.txt)

        ////到c:\freezip\free.rar

        //strzipPath = "C:\\freezip\\free";//设置压缩方式为 .zip

        //Process1.StartInfo.Arguments = " a -afzip " + strzipPath + " " + strtxtPath;

        //// 3

        ////压缩c:\freezip\free.txt(即文件夹及其下文件freezip\free.txt)

        ////到c:\freezip\free.zip  直接设定为free.zip

        //Process1.StartInfo.Arguments = " a -r "+strzipPath+" " + strtxtPath ;

        //// 4

        ////搬迁压缩c:\freezip\free.txt(即文件夹及其下文件freezip\free.txt)

        ////到c:\freezip\free.rar 压缩后 原文件将不存在

        //Process1.StartInfo.Arguments = " m " + strzipPath + " " + strtxtPath;

        //// 5

        ////压缩c:\freezip\下的free.txt(即文件free.txt)

        ////到c:\freezip\free.zip  直接设定为free.zip 只有文件 而没有文件夹

        //Process1.StartInfo.Arguments = " a -ep " + strzipPath + " " + strtxtPath;

        //// 6

        ////解压缩c:\freezip\free.rar

        ////到 c:\freezip\

        //strtxtPath = "c:\\freezip\\";

        //Process1.StartInfo.Arguments = " x " + strzipPath + " " + strtxtPath;

        //// 7

        ////加密压缩c:\freezip\free.txt(即文件夹及其下文件freezip\free.txt)

        ////到c:\freezip\free.zip  密码为123456 注意参数间不要空格

        //Process1.StartInfo.Arguments = " a -p123456 " + strzipPath + " " + strtxtPath;

        //// 8

        ////解压缩加密的c:\freezip\free.rar

        ////到 c:\freezip\   密码为123456 注意参数间不要空格

        //strtxtPath = "c:\\freezip\\";

        //Process1.StartInfo.Arguments = " x -p123456 " + strzipPath + " " + strtxtPath;

       //// 9 

       ////-o+ 覆盖 已经存在的文件

       //// -o- 不覆盖 已经存在的文件

       //strtxtPath = "c:\\freezip\\";

       //Process1.StartInfo.Arguments = " x -o+ " + strzipPath + " " + strtxtPath;

       ////10

       //// 只从指定的zip中

       //// 解压出free1.txt

       //// 到指定路径下

       //// 压缩包中的其他文件 不予解压

       //strtxtPath = "c:\\freezip\\";

       //Process1.StartInfo.Arguments = " x " + strzipPath + " " +" free1.txt" + " " + strtxtPath;

      //// 11

      //// 通过 -y 对所有询问回应为"是" 以便 即便发生错误 也不弹出WINRAR的窗口

      //// -cl 转换文件名为小写字母 

      //strtxtPath = "c:\\freezip\\";

      //Process1.StartInfo.Arguments = " t -y -cl " + strzipPath + " " + " free1.txt";

        Process1.Start();    

        while(Process1.HasExited)

        {

                int iExitCode = Process1.ExitCode;

                if (iExitCode == 0)

                {

                    Response.Write(iExitCode.ToString() + " 正常完成");

                }

                else

                {

                    Response.Write(iExitCode.ToString() + " 有错完成");

                }

        }

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: