在我的WPF应用程序中,我有以下帮助方法:
public static void CreateZip(string[] source, string targetZipName)
{
string sourceName = string.Join(" ", source.Select(f => "\"" + f + "\""));
ProcessStartInfo p = new ProcessStartInfo();
p.FileName = @"C:\Program Files\7-Zip\7zG.exe";
p.Arguments = "a \"" + targetZipName + "\" " + sourceName + " -mx=9";
p.WindowStyle = ProcessWindowStyle.Hidden;
Process x = Process.Start(p);
x.WaitForExit();
}
我正在传递二进制文件和一个csv文件的路径,以将它们压缩为7z存档。问题在于,这种包装好的7z进程需要大量内存才能压缩300MB文件。当我独立于cmd或其GUI运行7z时,它将占用更少的RAM。