当前位置: 移动技术网 > IT编程>开发语言>c# > C#使用WinRar命令进行压缩和解压缩操作的实现方法

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

2019年07月18日  | 移动技术网IT编程  | 我要评论

本文实例讲述了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#程序设计有所帮助。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网