C#调用rar.exe解压一个rar文件到系统的临时目录

//取得系统临时目录
string sysTempDir = Path.GetTempPath();
//要解压的文件路径,请自行设置
string rarFilePath = @"d:\test.rar";
//确定要解压到的目录,是系统临时文件夹下,与原压缩文件同名的目录里
string unrarDestPath = Path.Combine(sysTempDir,
Path.GetFileNameWithoutExtension(rarFilePath));
//组合出需要shell的完整格式
string shellArguments = string.Format("x -o+ \"{0}\" \"{1}\\\"",
rarFilePath, unrarDestPath);
//用Process调用
using (Process unrar = new Process())
{
unrar.StartInfo.FileName = "rar.exe";
unrar.StartInfo.Arguments = shellArguments;
//隐藏rar本身的窗口
unrar.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
unrar.Start();
//等待解压完成
unrar.WaitForExit();
unrar.Close();
}
//统计解压后的目录和文件数
DirectoryInfo di = new DirectoryInfo(unrarDestPath);
MessageBox.Show(string.Format("解压完成,共解压出:{0}个目录,{1}个文件",
di.GetDirectories().Length, di.GetFiles().Length));

 rar使用的例子
1、rar a file file.ext
如果file.rar不存在将创建file.rar文件;如果file.rar压缩包中已有file.ext,将更新压缩包中的file.ext
2、rar a file d:\*.ext
将d盘下所有ext文件(不包括自文件夹)添加到压缩包中
3、rar x Fonts *.ttf
从压缩文件中解压 *.ttf 字体文件到当前文件夹
4、rar x Fonts *.ttf NewFonts\
从压缩文件中解压 *.ttf 字体文件到 NewFonts 目录下
5、rar e -p密码 test.rar
将有密码test.rar文件,解压到当前文件夹

你可能感兴趣的:(C++,c,C#,ext)