1case("zip"): // 压缩
2 string[] zip_tmp = this.name1.Value.Split(new char[]{'*'});
3 string zip_tmp1= zip_tmp[zip_tmp.Length-1];
4 if(this.CheckName(zip_tmp1)) //检测文件命名的合法性
5 {
6 string zip_tmp2=zip_tmp1.Replace(".zip","");
7
8 //移除“.zip”后缀,并防止名称重复
9
10 this.NameExisted(1,ServerDir+@"personal\"+zip_tmp2+".zip",out zip_tmp2);
11 StreamWriter zip_sr =File.CreateText(ServerDir+"list.dat");
12 zip_sr.Write("");
13 zip_sr.Close();
14 for(int m =0;m<zip_tmp.Length-1;m++)
15 {
16 //以系统默认的 ANSI 编码创建压缩文件列表
17
18 StreamWriter zip_sw2 =new StreamWriter(ServerDir+"list.dat",true,System.Text.Encoding.Default);
19 zip_sw2.WriteLine(ServerDir+zip_tmp[m]);
20 zip_sw2.Close();
21 }
22 System.Diagnostics.Process Process1=new System.Diagnostics.Process();
23 Process1.StartInfo.FileName=ServerDir+"Winrar.exe";
24 Process1.StartInfo.Arguments=" a -ep1 -inul -y "+zip_tmp2+@" @"+ServerDir+"list.dat";
25 Process1.Start(); //进行压缩
26 while(!Process1.HasExited) //等待压缩的完成
27 {
28 }
29 }
30 break;
31case("unzip"): //解压缩
32 string [] un_tmp =this.name1.Value.Split(new char[]{'*'});
33 int i2=0; //防止名称冲突的参数
34 foreach(string un_tmp2 in un_tmp)
35 {
36 if(un_tmp2!="")
37 {
38 string un_time=System.DateTime.Now.ToShortDateString()+"-"+System.DateTime.Now.Hour.ToString()+"-"+System.DateTime.Now.Minute.ToString()+"-"+(System.DateTime.Now.Second+i2).ToString();
39 string un_dir =ServerDir+@"personal\Unzip-"+un_time;
40 Directory.CreateDirectory(un_dir); //创建以解压时间为名的文件夹
41 StreamWriter un_sw=File.AppendText(ServerDir+"DirState.dat");
42 un_sw.Write(@"personal\Unzip-"+un_time+"*");
43 un_sw.Close();
44 System.Diagnostics.Process Process2=new System.Diagnostics.Process();
45 Process2.StartInfo.FileName=ServerDir+"Winrar.exe";
46 Process2.StartInfo.Arguments=" x -inul -y "+ServerDir+un_tmp2+" "+un_dir;
47 Process2.Start(); //进行解压
48 while(!Process2.HasExited) //等待解压的完成
49 {
50 }
51 i2++;
52 }
53 }
54 break;
55
http://www.developerfusion.co.uk/utilities/convertvbtocsharp.aspx
2 string[] zip_tmp = this.name1.Value.Split(new char[]{'*'});
3 string zip_tmp1= zip_tmp[zip_tmp.Length-1];
4 if(this.CheckName(zip_tmp1)) //检测文件命名的合法性
5 {
6 string zip_tmp2=zip_tmp1.Replace(".zip","");
7
8 //移除“.zip”后缀,并防止名称重复
9
10 this.NameExisted(1,ServerDir+@"personal\"+zip_tmp2+".zip",out zip_tmp2);
11 StreamWriter zip_sr =File.CreateText(ServerDir+"list.dat");
12 zip_sr.Write("");
13 zip_sr.Close();
14 for(int m =0;m<zip_tmp.Length-1;m++)
15 {
16 //以系统默认的 ANSI 编码创建压缩文件列表
17
18 StreamWriter zip_sw2 =new StreamWriter(ServerDir+"list.dat",true,System.Text.Encoding.Default);
19 zip_sw2.WriteLine(ServerDir+zip_tmp[m]);
20 zip_sw2.Close();
21 }
22 System.Diagnostics.Process Process1=new System.Diagnostics.Process();
23 Process1.StartInfo.FileName=ServerDir+"Winrar.exe";
24 Process1.StartInfo.Arguments=" a -ep1 -inul -y "+zip_tmp2+@" @"+ServerDir+"list.dat";
25 Process1.Start(); //进行压缩
26 while(!Process1.HasExited) //等待压缩的完成
27 {
28 }
29 }
30 break;
31case("unzip"): //解压缩
32 string [] un_tmp =this.name1.Value.Split(new char[]{'*'});
33 int i2=0; //防止名称冲突的参数
34 foreach(string un_tmp2 in un_tmp)
35 {
36 if(un_tmp2!="")
37 {
38 string un_time=System.DateTime.Now.ToShortDateString()+"-"+System.DateTime.Now.Hour.ToString()+"-"+System.DateTime.Now.Minute.ToString()+"-"+(System.DateTime.Now.Second+i2).ToString();
39 string un_dir =ServerDir+@"personal\Unzip-"+un_time;
40 Directory.CreateDirectory(un_dir); //创建以解压时间为名的文件夹
41 StreamWriter un_sw=File.AppendText(ServerDir+"DirState.dat");
42 un_sw.Write(@"personal\Unzip-"+un_time+"*");
43 un_sw.Close();
44 System.Diagnostics.Process Process2=new System.Diagnostics.Process();
45 Process2.StartInfo.FileName=ServerDir+"Winrar.exe";
46 Process2.StartInfo.Arguments=" x -inul -y "+ServerDir+un_tmp2+" "+un_dir;
47 Process2.Start(); //进行解压
48 while(!Process2.HasExited) //等待解压的完成
49 {
50 }
51 i2++;
52 }
53 }
54 break;
55