C#使用WinRar命令进行压缩和解压缩操作的实现方法_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#程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索c#
, 压缩
, 解压缩
WinRar命令
c站、c语言、cf、ch、c罗,以便于您获取更多的相关知识。

时间: 2025-01-30 17:26:22

C#使用WinRar命令进行压缩和解压缩操作的实现方法_C#教程的相关文章

设置WinRAR的默认压缩格式为ZIP的方法

  WinRAR是我们平常生活工作中非常常见的一种压缩解压缩软件,一般它默认的压缩包都是RAR格式的,但是我们生活中经常用到的ZIP格式的压缩文件,所以我们需要设置它的默认压缩格式. 设置WinRAR的默认压缩格式为ZIP的方法: 设置 WinRAR 压缩文件管理器:打开WinRAR选择"选项"-"设置", 在弹出的设置窗口中依次点击"压缩选项" "创建默认配置--" 将"档案文件类型"从RAR修改为ZIP

DOS下常用压缩和解压工具使用方法

大家知道,为了保存文件且节省空间的占用,往往对文件进行压缩.而且,由于文件被压缩后通 常只剩下了一个压缩文件,便于携带,还可以进行密码保护,所以文件的压缩及解压成了大家经常用到的一项操作,那么如 何进行这些操作呢?下面就介绍一下DOS下压缩/解压的方法. 由于压缩软件的不同,压缩文件也有好几种,最常见的压缩格式有ZIP.RAR.ARJ等等.尤其是ZIP格式,用得最为广泛.DOS下对这些ZIP文件进行压缩操作的工具有很多,如PKZIP.InfoZIP等等,其中最有名且最实用的是PKZIP/PKUN

在Winform动态启动、控制台命令行的方法_C#教程

需求winForm 程序输出类型为 windows 程序(不是命令行程序)在运行时想输入一些信息编译开发调试,如何实现这一功能 解答: AllocConsole.FreeConsole 这两个 API 可以在任何时候调用和关闭 命令行. 代码演示:API 部分 复制代码 代码如下: using System.Runtime.InteropServices; namespace WindowsFormsApplication1{    public partial class NativeMeth

C#图片压缩的实现方法_C#教程

一般在web应用中,对客户端提交上来的图片肯定需要进行压缩的.尤其是比较大的图片,如果不经过压缩会导致页面变的很大,打开速度比较慢,当然了如果是需要高质量的图片也得需要生产缩略图. 下面贴出我自己琢磨的图片压缩算法,首先这个是未经优化的简单实现: 复制代码 代码如下: public static System.Drawing.Image GetImageThumb(System.Drawing.Image sourceImg, int width, int height)        {   

C#图片切割、图片压缩、缩略图生成代码汇总_C#教程

本文为大家整理了C#图片切割.图片压缩.缩略图生成的实现代码,大家可以收藏,方便以后使用,具体内容如下 /// 图片切割函数 /// </summary> /// <param name="sourceFile">原始图片文件</param> /// <param name="xNum">在X轴上的切割数量</param> /// <param name="yNum">在Y轴

CDMA 猫用AT命令发中文短信(C#)_C#教程

CDMA猫真是!@#¥#%(*,连PDU都不支持,只能发文本短信.而且发中文短信居然是UNICODE,无法在超级终端里输入.只能写程序. 网上这个问题谈论地比较多,做起来比较累,还偶尔会出乱码.还是将C#的成功代码帖一下吧. 转载请注明来源 复制代码 代码如下: void SendCHNSms(string content,string phone) { //中文CDMA发送,UNICODE编码字节 byte[] b = Encoding.BigEndianUnicode.GetBytes(co

WinRAR怎样预计压缩后文件大小?

  多个文件或某个文件夹在没有组合压缩前,谁也不知道他们压缩在一起有多少,这里我们就要运用到WinRAR"估计"功能了.我们一起来了解一下WinRAR怎样预计压缩后文件大小. 具体教程: 请打开WinRAR窗口,选择要压缩的文件夹或文件,然后单击工具栏上的"信息"按钮,在打开窗口中,单击"估计压缩率"功能栏中的"估计"按钮,WinRAR会给出压缩率.压缩包大小和压缩估计时间等数据,这对于你压缩比较大的文件或文件夹非常有用.如果

Linux中常用的压缩和解压缩命令汇总

  在Linux下,压缩和解压相比较Windows而言,琳琅满目的各种压缩包是一种莫名的负担,很多时候,根本就不知道该如何下手,经过无数次的折磨之后,通过伟大的互联网整理出了下面这份常用压缩包的后缀名的解压缩和压缩方法以及可能涉及到的相关程序.虽然不一定完全正确,且用且更新罢! 文件后缀 解压/解包 压缩/打包 备注 *.tar tar xvf file.tar tar cvf file.tar srcDir tar *.gz gunzip file.gz gzip -d file.gz gzi

WinRAR命令行参数整理汇集

WinRAR支持命令行执行压缩与解压缩等,而且就一个rar.exe就能支持图形界面的很多操作,特别方便远程管理等 我的实例: 将D:/wk.doc压缩为:final.rar d:/winrar/rarad:/final.rard:/wk.doc 将final.rar中的wk.doc解压到F:盘 rared:/final.rarF: 将final.rar转换成自解压文件 rarsfinal,rar(默认转换到同级目录下了) 给自解压文件(.exe)添加注释(设置默认解压路径等) rarc-zwk.