/// Decompress the file (without a password) RAR compression program returns the number of extracted files /// </summary> /// <param name = "destPath"> decompress to the directory </param> /// <param name = "rarfilePath"> compressed file path </param> public static int RARToFileEmail (string destPath, string rarfilePath) {try {// combines the complete shell Format string shellArguments = string. format ("x-o + \" {0} \ "\" {1 }\\ "", rarfilePath, destPath ); // use Process to call using (Process unrar = new Process () {unrar. startInfo. fileName = "winrar.exe"; unrar. startInfo. arguments = shellArguments; // hide the rar window unrar. startInfo. windowStyle = ProcessWindowStyle. hidden; unrar. start (); // wait until unrar is decompressed. waitForExit (); unrar. close () ;}// count the number of extracted directories and files // string str = string. format ("decompressed, decompressed: {0} directories, {1} Files", // 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 ;}