using System;
using System.IO;
using System.Diagnostics;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web.Security;
www.25175.net
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace WebLayer
{
/**//// <summary>
/// WebForm1 的摘要说明。
/// </summary>
public class WebForm1 : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button Button1;
protected System.Web.UI.HtmlControls.HtmlInputFile myfile;
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
}
Web 窗体设计器生成的代码#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/**//// <summary>
/// 设计器支持所需的方法 – 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.Button1.Click += new System.EventHandler(this.Button1_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void Button1_Click(object sender, System.EventArgs e)
{
string path = @"C:\"+myfile.PostedFile.FileName.Substring(myfile.PostedFile.FileName.LastIndexOf("\\"));
myfile.PostedFile.SaveAs(path);
string file=path+myfile.PostFile.FileName;
Response.Write("文件上传成功:"+path);
//Response.End();
// 在此处放置用户代码以初始化页面
Process p = new Process();
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardInput = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.FileName = "cmd.exe";
p.Close();
//解压Rar文件
string ServerDir=@"C:\Program Files\WinRAR";//rar路径
System.Diagnostics.Process Process1=new Process();
Process1.StartInfo.FileName=ServerDir+"\\Rar.exe";
Directory.CreateDirectory(path+".files"); //创建解压文件夹
Process1.StartInfo.Arguments=" x -inul -y "+file+" "+path+".files";
Process1.Start();//解压开始
while(!Process1.HasExited) //等待解压的完成
{
}
//File.Delete(path);//删除rar文件
}
}
}
转载:http://blog.csdn.net/RandomLife/archive/2004/09/22/113102.aspx
使用RAR版本:WinRAR 3.20 beta 2(© 1993-2003 Eunege Roshal )
用法: rar <命令>-<开关 1> -<开关 N> <压缩文件> <文件…>
<@列表文件…> <解压路径\>
<命令>
a |
添加文件到压缩文件 |
c |
添加压缩文件注释 |
cf |
添加文件注释 |
cw |
写入压缩文件注释到文件 |
d |
删除压缩文件中的文件 |
e |
解压压缩文件到当前目录 |
f |
刷新压缩文件中的文件 |
i[参数]=<串> |
在压缩文件中查找字符串 |
k |
锁定压缩文件 |
l[t,b] |
列出压缩文件[技术信息,简洁] |
m[f] |
移动到压缩文件[仅对文件] |
p |
打印文件到标准输出设备 |
r |
修复压缩文件 |
rc |
重建丢失的卷 |
rn |
重命名压缩文件 |
rr[N] |
添加数据恢复记录 |
rv[N] |
创建恢复卷 |
s[名字|-] |
转换压缩文件为自解压格式或转换回压缩文件 |
t |
测试压缩文件 |
u |
更新压缩文件中的文件 |
v[t,b] |
详细列出压缩文件[技术信息,简洁] |
x |
用绝对路径解压文件 |
<开关>
– |
停止扫描 |
ac |
压缩或解压后清除文件属性 |
ad |
添加压缩文件名到目标路径 |
ag[格式] |
使用当前日期生成压缩文件名 |
ao |
添加具有压缩属性的文件 |
ap<格式> |
添加路径到压缩文件中 |
as |
同步压缩文件内容 |
av |
添加用户身份校验(仅注册版本可用) |
av- |
禁用用户身份校验 |
c- |
禁用注释显示 |
cfg- |
禁用读取配置 |
cl |
名称转换为小写 |
cu |
名称转换为大写 |
df |
压缩后删除文件 |
dh |
打开共享文件 |
ds |
对固实压缩文件禁用名称排序 |
e<属性> |
设置文件排除属性 |
ed |
不添加空目录 |
en |
不添加"压缩文件结束"标志 |
ep |
从名称中排除路径 |
ep1 |
从名称中排除基本目录 |
ep2 |
展开为完整路径 |
f |
刷新文件 |
hp[密码] |
同时加密文件数据和文件头 |
idp |
禁用百分比显示 |
ieml[属性] |
用E-mail发送压缩文件 |
ierr |
发送所有消息到标准错误设备 |
ilog[名称] |
把错误写到日志文件(只有注册版本可用) |
inul |
禁用所有消息 |
ioff |
完成一个操作后关闭PC电源 |
isnd |
启用声音 |
k |
锁定压缩文件 |
kb |
保留损坏的已解压文件 |
m<0..5> |
设置压缩级别(0-存储…3-默认…5-最大) |
mc<参数> |
设置高级压缩参数 |
md<大小> |
以KB为单位的字典大小(64,128,256,512,1024,2048,4096 or A-G) |
ms[ext;ext] |
指定存储的文件类型 |
o+ |
覆盖已存在文件 |
o- |
不覆盖已存在文件 |
os |
保存NTFS流 |
ow |
保存或恢复文件所有者和组 |
p[密码] |
设置密码 |
p- |
不询问密码 |
r |
递归子目录 |
r0 |
仅递归通配符名称的子目录 |
ri<P>[:<S>] |
设置优先级(0-默认,1-最小..15-最大)和以毫秒为单位的休眠时间 |
rr[N] |
添加数据恢复记录 |
rv[N] |
创建恢复卷 |
s[<N>,v[-],e] |
创建固实压缩文件 |
s- |
禁用固实压缩文件 |
sfx[名称] |
创建自解压压缩文件 |
t |
压缩后测试文件 |
ta<日期> |
添加日期<日期>后修改的文件,日期格式YYYYMMDDHHMMSS |
tb<日期> |
添加日期<日期>前修改的文件,日期格式YYYYMMDDHHMMSS |
tk |
保留原始压缩文件时间 |
tl |
设置压缩文件时间为最新文件时间 |
tn<时间> |
添加<时间>以后的文件 |
to<时间> |
添加<时间>以前的文件 |
ts<m,c,a>[N] |
保存或恢复文件时间(修改,创建,访问) |
u |
更新文件 |
v |
自动检测创建卷的大小或者列出所有的卷 |
v<大小>[k,b] |
创建卷大小=<大小>*1000[*1024, *1] |
vd |
创建容量前清除磁盘内容 |
ver[n] |
文件版本控制 |
vn |
使用旧风格的卷命名方案 |
vp |
每卷之前暂停 |
w<路径> |
指定工作目录 |
x<文件> |
排除指定的文件 |
x@ |
从标准输入设备读取要排除的文件名 |
x@<列表> |
排除指定列表文件中的文件 |
y |
假设对全部询问都回答是 |
z<文件> |
从文件读取压缩文件注释 |
示例:
1、rar a file file.ext
如果file.rar不存在将创建file.rar文件;如果file.rar压缩包中已有file.ext,将更新压缩包中的file.ext;还可用d:\*.ext代替file.ext将d盘下所有ext文件(不包括自文件夹)添加到压缩包中。
2、rar a -r -v2000 -s -sfx -rr file
从当前文件夹和子文件夹压缩全部文件成为 2000000 字节大小、固实的、分卷自解压文件 file.part1.exe,file.part2.rar,file.part3.rar 等,并在每一个分卷中添加恢复记录;将命令a换成命令m可将文件压缩后删除
3、rar x Fonts *.ttf
会从压缩文件解压 *.ttf 字体文件到当前文件夹,但下面命令:
rar x Fonts *.ttf NewFonts\
会从压缩文件解压 *.ttf 字体文件到文件夹 NewFont
4、rar a -pZaBaToAd -r secret games\*.*
使用密码 ZaBaToAd 来将文件夹“games”的内容添加到压缩文件“secret”
************************
Powered By RandomLife
2004年9月22日
************************