我想把 E:\\AA\BB\11.txt 压缩后存入 E:\\AA1\BB1\11.rar
但是当我解压( E:\\AA1\BB1\11.rar)的时候,发现:11.txt 不是在
E:\\AA1\BB1\11.txt 路径下,
而是
E:\\AA1\BB1\AA\BB\11.txt
悲剧就这样进行着,
下面是我的解决方案:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40 |
/// <summary> /// 压缩文件 /// </summary> /// <param name="DFilePath">需要压缩的文件夹或者单个文件</param> /// <param name="DRARName">生成压缩文件的文件名</param> /// <param name="DRARPath">生成压缩文件保存路径</param> /// <returns></returns> protected
bool RAR(string
DFilePath, string
DRARName, string
DRARPath) { String the_rar; RegistryKey the_Reg; Object the_Obj; String the_Info; ProcessStartInfo the_StartInfo; Process the_Process; try { the_Reg = Registry.ClassesRoot.OpenSubKey(@"Applications\WinRAR.exe\Shell\Open\Command"); the_Obj = the_Reg.GetValue(""); the_rar = the_Obj.ToString(); the_Reg.Close(); the_rar = the_rar.Substring(1, the_rar.Length - 7); the_Info = " a -r "
+ DRARName + " "
+ DFilePath; <span style="color: rgb(255, 0, 0);">the_Info = " a -ep "
+ DRARName + " "
+ DFilePath;//这句话的 ‘-ep’很重要,有它就能不显示压缩前的路径</span> the_StartInfo = new
ProcessStartInfo(); the_StartInfo.FileName = the_rar; the_StartInfo.Arguments = the_Info; the_StartInfo.WindowStyle = ProcessWindowStyle.Hidden; the_StartInfo.WorkingDirectory = DRARPath; //RaR文件的存放目录。 the_Process = new
Process(); the_Process.StartInfo = the_StartInfo; the_Process.Start(); return
true; } catch
(Exception ex) { return
false; } } |
原文:http://www.cnblogs.com/bingzisky/p/3565073.html