文档章节

C# 使用WinRar命令压缩和解压缩

深圳大道
 深圳大道
发布于 2016/12/29 15:23
字数 375
阅读 1
收藏 0
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();
        }   
    }
}

本文转载自:http://blog.csdn.net/smartsmile2012/article/details/46469007

深圳大道
粉丝 3
博文 877
码字总数 0
作品 0
深圳
架构师
私信 提问
ZIP, 一个没落天才的故事

新闻来源:citydog ZIP,一个没落天才的故事,Phil Katz不愿意为一个压缩软件付钱,就索性自己写了一个更好的算法,然后无偿公开。2000年4月14日,他被发现死于一家汽车旅馆,年仅37岁,死时手...

蟋蟀哥哥
2012/05/06
8.3K
59
WinRAR的自解压模式 - imsoft.cnblogs

一个SFX (SelF-eXtracting)自解压文件是压缩文件的一种,它结合了可执行文件模块,一种用以运行从压缩文件解压文件的模块。这样的压缩文件不需要外部程序来解压自解压文件的内容,它自己便可...

imzdx
2014/05/20
0
0
WinRAR 5.60 发布,用户界面更新恐惹争议

WinRAR 5.60 发布了,WinRAR 是一款流行好用的压缩工具,支持鼠标拖放及外壳扩展,完美支持 ZIP 档案,内置程序可以解开 CAB、ARJ、LZH、TAR、GZ、ACE、UUE、BZ2、JAR、ISO 等多种类型的压缩...

h4cd
2018/06/29
6.8K
42
JAR WAR EAR的使用和区别

1.JAR WAR EAR的使用和区别 最近项目中接触到了Jar War EAR, 在文件结构上, 三者并没有什么不同, 它们都采用zip或jar档案文件压缩格式, 当时它们的使用有所区别: Jar(Java Application Arch...

陈小扁
2016/03/17
225
0
VB.NET 自动打包程序

因为每次将编译好的程序提交时都要花费很多时间用来打包,因此我需要有一个让程序自动完成这些琐碎的工作。 首先说一下我的目标。我的C#程序(在本文中暂时称作Example.exe)编译后暂时存放在...

北风其凉
2015/10/14
587
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx+tomcat配置https

1、nginx配置https和【proxy_set_header X-Forwarded-Proto $scheme;】 2、java代码: String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServe......

perofu
20分钟前
4
0
必看的Linux系统新手进阶老手心得

不知道从什么时候起,linux这个话题变得越来越普及,成为大家经常讨论的话题。无论在网络上还是实际生活中,竟然很多人都在纠结学习linux的问题。网络上给的答案千千万万,而却还有很多人踌躇...

Linux就该这么学
23分钟前
4
0
Spring Boot 配置元数据指南

1. 概览 在编写 Spring Boot 应用程序时,将配置属性映射到 Java bean 上是非常有用的。但是,记录这些属性的最好方法是什么呢? 在本教程中,我们将探讨 Spring Boot Configuration Proces...

liululee
26分钟前
3
0
foreach查找子类

$list = $menu_model -> menu_list();$parent_list = [];foreach ($list as $v){ if ($v['pid'] == 0) { $parent = $v; foreach ($list as $v1) ......

小小小壮
38分钟前
3
0
基于 HTML5 Canvas 实现的 TP-LINK 电信拓扑设备面板

前言 今天我们以真实的 TP-LINK 设备面板为模型,完成设备面板的搭建,和指示灯的闪烁和图元流动。 先来目睹下最终的实现效果:http://www.hightopo.com/demo/blog_tplink_20170511/index.h...

htdaydayup
44分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部