欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C#使用WinRar命令进行压缩和解压缩操作的实现方法

程序员文章站 2022-05-28 18:44:27
本文实例讲述了c#使用winrar命令进行压缩和解压缩操作的实现方法。分享给大家供大家参考,具体如下: using system; using system.c...

本文实例讲述了c#使用winrar命令进行压缩和解压缩操作的实现方法。分享给大家供大家参考,具体如下:

using system;
using system.collections.generic;
using system.linq;
using system.web;
using system.web.ui;
using system.web.ui.webcontrols;
using system.diagnostics;
using system.io;
public partial class zip : system.web.ui.page
{
  protected void page_load(object sender, eventargs e)
  {
  }
  //压缩文件
  protected void button1_click(object sender, eventargs e)
  {
    processstartinfo startinfo = new processstartinfo(); ;
    process process = new process();
    string rarname = "1.rar"; //压缩后文件名
    string path = @"c:\images"; //待压缩打包文件夹
    string rarpath = @"c:\zip"; //压缩后存放文件夹
    string rarexe = @"c:\program files\winrar\winrar.exe"; //winrar安装位置
    try
    {
      //压缩命令,相当于在要压缩的文件夹(path)上点右键->winrar->添加到压缩文件->输入压缩文件名(rarname)
      string cmd = string.format("a {0} {1} -r", rarname, path);
      startinfo.filename = rarexe;
      startinfo.arguments = cmd;             //设置命令参数
      startinfo.windowstyle = processwindowstyle.hidden; //隐藏 winrar 窗口
      startinfo.workingdirectory = rarpath;
      process.startinfo = startinfo;
      process.start();
      process.waitforexit(); //无限期等待进程 winrar.exe 退出
      if (process.hasexited)
      {
        mscl.jshelper.alert("压缩成功!", page);
      }
    }
    catch (exception ex)
    {
      mscl.jshelper.alert(ex.message, page);
    }
    finally
    {
      process.dispose();
      process.close();
    }
  }
  //解压文件
  protected void button2_click(object sender, eventargs e)
  {
    processstartinfo startinfo = new processstartinfo(); ;
    process process = new process();
    string rarname = "1.rar"; //将要解压缩的 .rar 文件名(包括后缀)
    string path = @"c:\images1"; //文件解压路径(绝对)
    string rarpath = @"c:\zip"; //将要解压缩的 .rar 文件的存放目录(绝对路径)
    string rarexe = @"c:\program files\winrar\winrar.exe"; //winrar安装位置
    try
    {
      //解压缩命令,相当于在要压缩文件(rarname)上点右键->winrar->解压到当前文件夹
      string cmd = string.format("x {0} {1} -y", rarname, path);
      startinfo.filename = rarexe;
      startinfo.arguments = cmd;             //设置命令参数
      startinfo.windowstyle = processwindowstyle.hidden; //隐藏 winrar 窗口
      startinfo.workingdirectory = rarpath;
      process.startinfo = startinfo;
      process.start();
      process.waitforexit(); //无限期等待进程 winrar.exe 退出
      if (process.hasexited)
      {
        mscl.jshelper.alert("解压缩成功!", page);
      }
    }
    catch (exception ex)
    {
      mscl.jshelper.alert(ex.message, page);
    }
    finally
    {
      process.dispose();
      process.close();
    }
  }
}

更多关于c#相关内容感兴趣的读者可查看本站专题:《c#常见控件用法教程》、《winform控件用法总结》、《c#数据结构与算法教程》、《c#面向对象程序设计入门教程》及《c#程序设计之线程使用技巧总结

希望本文所述对大家c#程序设计有所帮助。