您的位置:首页 > 编程语言 > C#

7z 命令行 进行单文件极限压缩与解压

2014-10-06 22:30 411 查看
1、首先将7z.dll、7z.exe、7zFM.exe、7zG.exe放入到项目中某一文件夹下

2、当文件极限压缩

public static string ZipFile(string fileName, string zipFileName)
{
path = "";
try
{
string zipPara;
zipPara = "a \"" + zipFileName + "\" " + " \"" + fileName + "\" -mx9 -m0=LZMA:d=27 -ms=2048m -mmt=2";
if (File.Exists(zipFileName)) //判断压缩文件是否存在,如果存在就删除掉
{
File.Delete(zipFileName);
}
if (!SeventZPrcess(zipPara))
{
return path;
}
return path = zipFileName;
}
catch
{
return path;
}
}

3、当文件解压
/// 解压缩文件(解压后不带目录)
/// <summary>
/// 解压缩文件(解压后不带目录)
/// </summary>
/// <param name="zipFileName">压缩文件名</param>
/// <param name="unzipPath">解压缩后文件的路径</param>
/// <returns>返回值true:成功 false:失败</returns>
public static bool UnZipFile(string zipFileName, string unZipPath)
{
try
{

string arguments = " e -y \"" + zipFileName + "\" -o\"" + unZipPath + "\"";

return SeventZPrcess(arguments);
}
catch
{
return false;
}
}

4、开启7z.exe进程
public static bool SeventZPrcess(string arguments)
{
Process winrarPro = new System.Diagnostics.Process();
winrarPro.StartInfo.WindowStyle = ProcessWindowStyle.Minimized; //隐藏压缩窗口
winrarPro.StartInfo.FileName = AppDomain.CurrentDomain.SetupInformation.ApplicationBase + "7z\\7z.exe"; //System.Windows.Forms.Application.StartupPath + "\\7z.exe";
winrarPro.StartInfo.CreateNoWindow = false;
winrarPro.StartInfo.Arguments = arguments;
winrarPro.Start();
winrarPro.WaitForExit();
int iExitCode = 0;
if (winrarPro.HasExited)
{
iExitCode = winrarPro.ExitCode;
winrarPro.Close();
if (iExitCode != 0 && iExitCode != 1)
{
return false;
}
}
return true;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# .net 压缩