asp.net实现文件解压和压缩

C#解压RAR压缩文件(--转载--测试通过)
using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using Microsoft.Win32;
using System.Diagnostics;

namespace Uni.UniCustoms
{
    public class clsWinrar
    {
        /// <summary>
/// 是否安装了Winrar
/// </summary>
/// <returns></returns>
        static public bool Exists()
        {
            RegistryKey the_Reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe");
            return !string.IsNullOrEmpty(the_Reg.GetValue("").ToString());
        }

        /// <summary>
/// 打包成Rar
/// </summary>
/// <param name="patch"></param>
/// <param name="rarPatch"></param>
/// <param name="rarName"></param>
        public void CompressRAR(string patch, string rarPatch, string rarName)
        {
            string the_rar;
            RegistryKey the_Reg;
            object the_Obj;
            string the_Info;
            ProcessStartInfo the_StartInfo;
            Process the_Process;
            try
            {
                the_Reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe");
                the_Obj = the_Reg.GetValue("");
                the_rar = the_Obj.ToString();
                the_Reg.Close();
                //the_rar = the_rar.Substring(1, the_rar.Length - 7);建议删除
                Directory.CreateDirectory(patch);
                //命令参数
//the_Info = " a    " + rarName + " " + @"C:Test?70821.txt"; //文件压缩
                the_Info = " a    " + rarName + " " + patch + " -r"; ;
                the_StartInfo = new ProcessStartInfo();
                the_StartInfo.FileName = the_rar;
                the_StartInfo.Arguments = the_Info;
                the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                //打包文件存放目录
                the_StartInfo.WorkingDirectory = rarPatch;
                the_Process = new Process();
                the_Process.StartInfo = the_StartInfo;
                the_Process.Start();
                the_Process.WaitForExit();
                the_Process.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        /// <summary>
/// 解压
/// </summary>
/// <param name="unRarPatch"></param>
/// <param name="rarPatch"></param>
/// <param name="rarName"></param>
/// <returns></returns>
        public string unCompressRAR(string unRarPatch, string rarPatch, string rarName)
        {
            string the_rar;
            RegistryKey the_Reg;
            object the_Obj;
            string the_Info;

            try
            {
                the_Reg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\WinRAR.exe");
                the_Obj = the_Reg.GetValue("");
                the_rar = the_Obj.ToString();
                the_Reg.Close();
                //the_rar = the_rar.Substring(1, the_rar.Length - 7);

                if (Directory.Exists(unRarPatch) == false)
                {
                    Directory.CreateDirectory(unRarPatch);
                }
                the_Info = "x " + rarName + " " + unRarPatch + " -y";

                ProcessStartInfo the_StartInfo = new ProcessStartInfo();
                the_StartInfo.FileName = the_rar;
                the_StartInfo.Arguments = the_Info;
                the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
                the_StartInfo.WorkingDirectory = rarPatch;//获取压缩包路径

                Process the_Process = new Process();
                the_Process.StartInfo = the_StartInfo;
                the_Process.Start();
                the_Process.WaitForExit();
                the_Process.Close();
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return unRarPatch;
        }
    }
}

RAR参数:
一、压缩命令
1、将temp.txt压缩为temp.rarrar a temp.rar temp.txt
2、将当前目录下所有文件压缩到temp.rarrar a temp.rar *.*
3、将当前目录下所有文件及其所有子目录压缩到temp.rarrar a temp.rar *.* -r
4、将当前目录下所有文件及其所有子目录压缩到temp.rar,并加上密码123rar a temp.rar *.* -r -p123
二、解压命令
1、将temp.rar解压到c:\temp目录rar e temp.rar c:\temprar e *.rar c:\temp(支持批量操作)
2、将temp.rar解压到c:\temp目录,并且解压后的目录结构和temp.rar中的目录结构一

压缩目录test及其子目录的文件内容
Wzzip test.zip test -r -P
WINRAR A test.rar test -r 

删除压缩包中的*.txt文件
Wzzip test.zip *.txt -d
WinRAR d test.rar *.txt 

刷新压缩包中的文件,即添加已经存在于压缩包中但更新的文件
Wzzip test.zip test -f
Winrar f test.rar test 

更新压缩包中的文件,即添加已经存在于压缩包中但更新的文件以及新文件
Wzzip test.zip test -u
Winrar u test.rar test 

移动文件到压缩包,即添加文件到压缩包后再删除被压缩的文件
Wzzip test.zip -r -P -m
Winrar m test.rar test -r 

添加全部 *.exe 文件到压缩文件,但排除有 a或b
开头名称的文件
Wzzip test *.exe -xf*.* -xb*.*
WinRAR a test *.exe -xf*.* -xb*.* 

加密码进行压缩
Wzzip test.zip test
-s123。注意密码是大小写敏感的。在图形界面下打开带密码的压缩文件,会看到+号标记(附图1)。
WINRAR A test.rar test -p123
-r。注意密码是大小写敏感的。在图形界面下打开带密码的压缩文件,会看到*号标记(附图2)。 

按名字排序、以简要方式列表显示压缩包文件
Wzzip test.zip -vbn
Rar l test.rar 

锁定压缩包,即防止未来对压缩包的任何修改
无对应命令
Winrar k test.rar 

创建360kb大小的分卷压缩包
无对应命令
Winrar a -v360 test 

带子目录信息解压缩文件
Wzunzip test -d
Winrar x test -r 

不带子目录信息解压缩文件
Wzunzip test
Winrar e test 

解压缩文件到指定目录,如果目录不存在,自动创建
Wzunzip test newfolder
Winrar x test newfolder 

解压缩文件并确认覆盖文件
Wzunzip test -y
Winrar x test -y 

解压缩特定文件
Wzunzip test *.txt
Winrar x test *.txt 

解压缩现有文件的更新文件
Wzunzip test -f
Winrar x test -f 

解压缩现有文件的更新文件及新文件
Wzunzip test -n
Winrar x test -u 

批量解压缩文件
Wzunzip *.zip
WinRAR e *.rar
时间: 2024-10-14 22:51:50

asp.net实现文件解压和压缩的相关文章

Linux系统下ZIP文件解压和压缩命令

zip all.zip *.jpg   #将所有.jpg的文件压缩成一个zip包 unzip all.zip    #将all.zip中的所有文件解压到当前目录中 unzip all.zip -d all #将all.zip 中的所有文件解压到当前目录中的all文件夹中 zip -r hy.zip hy  #将当前目录下的hy文件夹压缩为hy.zip zip -r hy.zip hy 123.txt  #将当前目录下的hy文件夹和123.txt压缩为hy.zip 作者:open210 来源:CS

linux .tar.xz 文件解压和压缩

场景:centos7.0下文件格式为xxx.tar.xz,解压和压缩命令: 压缩 tar -Jcf linux-3.10.0-123.13.1.el7.tar.xz(文件名) linux-3.10.0-123.13.1.el7/ 解压: tar -Jxf linux-3.10.0-123.13.1.el7.tar.xz

c++builder ZIP文件解压与压缩(ZLIB DLL调用)(转载 )

转载:http://blog.csdn.net/goodai007/article/details/7414512 头文件:ZipAndFile.h 1 //--------------------------------------------------------------------------- 2 3 #ifndef ZipAndFileH 4 #define ZipAndFileH 5 #include <Classes.hpp> 6 //-------------------

initramfs.img,ramdisk 文件解压与压缩

1, 重命名gz 压缩文件 mv initramfs.img  initramfs.img.gz 2, 解压文件 186  gunzip initramfs.img.gz 3, 查看文件类型  188  file initramfs.img 4, 创建目录  189  mkdir temp  190  cd temp 5, 解压目录  193  cpio -i -F ../initramfs.img 6, 压缩文件 find . |cpio -ov -H newc |gzip > ../init

zip文件解压或压缩

<span style="font-size:18px;">/** * lsz */ public final class ZipUtil { /** * 解压zip文件 * @param unZipfile * @param destFile */ public static void unZip(String unZipfile, String destFile) { FileOutputStream fileOut; File file; InputStream in

os与操作系统进行交互,sys解释器相关,random随机数,shutil解压和压缩

1.os 与操作系统相关 对文件的处理 对路径的处理 import os#主要用于与操作系统进行交互 掌握: print(os.makedirs('a/b/c'))#创建目录 可用递归创建 print(os.mkdir('AA'))#创建一个目录,名字中不能加/ os.removedirs('a/b/c')#递归删除,如果没有文件删除,有文件则保留 os.rmdir('AA')#删除一个目录 os.remove(r'xx')#删除文件,仅仅能删除文件 os.listdir(r'xx')#列出所有

Centos解压rar压缩文件

在liunx下原本是不支持rar文件的,需要安装liunx下的winrar版本官网下载最近rar解压包. 下载linux系统rar解压工具: 可以通过官网直接下载,通过ftp/sftp等公共传输到linux中,官网:http://www.rarsoft.com 或者tty或者pts执行wget http://www.rarsoft.com/rar/rarlinux-x64-5.4.0.tar.gz [[email protected] tmp]# wget http://www.rarsoft.

linux下压缩成zip文件解压zip文件

linux  zip命令的基本用法是: zip [参数] [打包后的文件名] [打包的目录路径] linux  zip命令参数列表: -a     将文件转成ASCII模式 -F     尝试修复损坏的压缩文件     -h     显示帮助界面 -m     将文件压缩之后,删除源文件 -n 特定字符串    不压缩具有特定字尾字符串的文件 -o     将压缩文件内的所有文件的最新变动时间设为压缩时候的时间 -q     安静模式,在压缩的时候不显示指令的执行过程 -r     将指定的目录

[转]Ubuntu Linux 安装 .7z 解压和压缩文件

[转]Ubuntu Linux 安装 .7z 解压和压缩文件 http://blog.csdn.net/zqlovlg/article/details/8033456 安装方法: sudo apt-get install p7zip 解压文件: 7z x manager.7z -r -o /home/xx 解释如下: x 代表解压缩文件,并且是按原始目录解压(还有个参数 e 也是解压缩文件,但其会将所有文件都解压到根下,而不是自己原有的文件夹下)manager.7z 是压缩文件,这里大家要换成自