public static void Single(string file, string savePrefix) { var item = file.Replace("\\", "/"); var name = Path.GetFileNameWithoutExtension(item); var savePath = Path.Combine(savePrefix, name).Replace("\\", "/"); if (Directory.Exists(savePath) == false) { Directory.CreateDirectory(savePath); } var sb = new StringBuilder(); var md5 = new MD5CryptoServiceProvider(); using (var io = File.OpenRead(item)) { var bytes = md5.ComputeHash(io); for (int j = 0, len = bytes.Length; j < len; j++) { sb.Append(bytes[j].ToString("x2")); } } var result = PlatformMsgManager.ExportHpfFiles(item, 0, savePath, callback, false); Logger.Info(string.Format("Export {0} to {1} md5:{2}", item, savePath, sb.ToString())); }
public static void RunFolder(string folder) { var files = Directory.GetFiles(folder, "*.hpf", SearchOption.AllDirectories).ToList(); if (files.Count == 0) { return; } PlatformMsgManager.CloseAllHpf(); var savePrefix = Path.Combine(folder, "exports"); if (Directory.Exists(savePrefix) == false) { Directory.CreateDirectory(savePrefix); } Progress.Reset(); int i = 0; foreach (var file in files) { Single(file, savePrefix); Progress.Report(++i, files.Count); } Logger.Info("Ready to go"); }