作者:兔子是不常吃萝卜的 | 来源:互联网 | 2023-05-17 17:33
System.Diagnostics.Process Process1 = new System.Diagnostics.Process();
Process1.StartInfo.FileName = "Winrar.exe";
Process1.StartInfo.CreateNoWindow = true;
string zippath="d:\\1\\2\\3\\4"
string filepath="d:\\1\\2\\3\\4.rar"
Process1.StartInfo.Arguments = " m " + zippath + " " + filepath;
这样压缩出来的4.rar中带着1\\2\\3\\4这样的结构,我需要4.rar中目录的结构是从2开始,也就是3\\4,这个问题怎么处理,求教。
2 个解决方案
压缩文件夹
winrar.exe a -ag -k -r -s -ibck c:\bak.rar c:\dat\
压缩多个文件
winrar a -ag -ibck bak.rar filename1 filename2
参数说明
winrar.exe:运行winrar,
如果winrar.exe没在默认路径中则需要指明路径,如c:\Progra~1\winrar\winrar.exe ...;
a :备份所有文件;
-ag :当创建压缩文件时,以格式“YYYYMMDDHHMMSS”附加当前日期字符串,文件名bakYYYYMMDDHHMMSS.rar;
-k :锁定压缩文件;
-r:备份目录和子目录;
-s :创建固实压缩文件;
-ibck :后台运行;
c:\bak.rar :备份的路径和基本名称(-ag参数会自动在bak后加上系统当前时间),
也可不用-ag参数,通过“%date:~0,4%%date:~5,2%%date:~8,2%”取得时间字串,
也可写作c:\bak.zip;
c:\dat\ :要备份的文件目录。
filename1:要压缩的文件名,可以多个,也可用通配符file*