C# 解压RAR压缩文件
此方法适用于C盘windows文件夹中有WinRAR.exe文件
/// 解压文件(不带密码) RAR压缩程序 返回解压出来的文件数量 /// </summary> /// <param name="destPath">解压至目录</param> /// <param name="rarfilePath">压缩文件路径</param> public static int RARToFileEmail(string destPath, string rarfilePath) { try { //组合出需要shell的完整格式 string shellArguments = string.Format("x -o+ \"{0}\" \"{1}\\\"", rarfilePath, destPath); //用Process调用 using (Process unrar = new Process()) { unrar.StartInfo.FileName = "winrar.exe"; unrar.StartInfo.Arguments = shellArguments; //隐藏rar本身的窗口 unrar.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; unrar.Start(); //等待解压完成 unrar.WaitForExit(); unrar.Close(); } //统计解压后的目录和文件数 //string str=string.Format("解压完成,共解压出:{0}个目录,{1}个文件", // di.GetDirectories().Length, di.GetFiles().Length); //return str; } catch (Exception ex) { return 0; } DirectoryInfo di = new DirectoryInfo(destPath); int dirfileCount = 0; foreach (System.IO.DirectoryInfo dir in di.GetDirectories()) { dirfileCount++; } foreach (System.IO.FileInfo item in di.GetFiles()) { dirfileCount++; } return dirfileCount; }