Sep
14
2016
C# 调用7zip压缩
public class ZipHelper
{
// Fields
private string _7zInstallPath = @"C:\Program Files\7-Zip\7z.exe";
// Methods
public ZipHelper(string str7zInstallPath)
{
this._7zInstallPath = str7zInstallPath;
if (!File.Exists(this._7zInstallPath))
{
Console.WriteLine(String.Format("{0} 不存在.", this._7zInstallPath));
}
}
/// <summary>
/// 压缩文件夹目录
/// </summary>
/// <param name="strInDirectoryPath">指定需要压缩的目录,如C:\test\,将压缩test目录下的所有文件</param>
/// <param name="strOutFilePath">压缩后压缩文件的存放目录</param>
public void CompressDirectory(string strInDirectoryPath, string strOutFilePath, string strPassword = "", Boolean displayRunWindow = true)
{
Process process = new Process();
process.StartInfo.FileName = this._7zInstallPath;
strPassword = strPassword.Equals("") ? "" : String.Format("-p{0}", strPassword);
process.StartInfo.Arguments = String.Format(" a -t7z {0} {1} {2}", strOutFilePath, strInDirectoryPath, strPassword);
//隐藏DOS窗口
process.StartInfo.WindowStyle = displayRunWindow ? ProcessWindowStyle.Normal : ProcessWindowStyle.Hidden;
process.Start();
process.WaitForExit();
process.Close();
}
/// <summary>
/// 压缩文件
/// </summary>
/// <param name="strInFilePath">指定需要压缩的文件,如C:\test\demo.xlsx,将压缩demo.xlsx文件</param>
/// <param name="strOutFilePath">压缩后压缩文件的存放目录</param>
public void CompressFile(string strInFilePath, string strOutFilePath, string strPassword="",Boolean displayRunWindow = true)
{
Process process = new Process();
process.StartInfo.FileName = this._7zInstallPath;
strPassword = strPassword.Equals("") ? "" : String.Format("-p{0}", strPassword);
process.StartInfo.Arguments = String.Format(" a -t7z {0} {1} {2}", strOutFilePath, strInFilePath, strPassword);
//process.StartInfo.Arguments = " a -t7z " + strOutFilePath + " " + strInFilePath + "";
//隐藏DOS窗口
process.StartInfo.WindowStyle = displayRunWindow ? ProcessWindowStyle.Normal : ProcessWindowStyle.Hidden;
process.Start();
process.WaitForExit();
process.Close();
}
/// <summary>
/// 解压缩
/// </summary>
/// <param name="strInFilePath">压缩文件的路径</param>
/// <param name="strOutDirectoryPath">解压缩后文件的路径</param>
public void DecompressFileToDestDirectory(string strInFilePath, string strOutDirectoryPath, string strPassword = "", Boolean displayRunWindow = true)
{
Process process = new Process();
process.StartInfo.FileName = this._7zInstallPath;
strPassword = strPassword.Equals("") ? "" : String.Format("-p{0}", strPassword);
Console.WriteLine(this._7zInstallPath+String.Format(" x {0} -o{1} -r {2}", strInFilePath, strOutDirectoryPath, strPassword));
process.StartInfo.Arguments = String.Format(" x {0} -o{1} -r {2}", strInFilePath, strOutDirectoryPath, strPassword);
//隐藏DOS窗口
//process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.Start();
process.WaitForExit();
process.Close();
}
}public class ZipHelper
{
// Fields
private string _7zInstallPath = @"C:\Program Files\7-Zip\7z.exe";
// Methods
public ZipHelper(string str7zInstallPath)
{
this._7zInstallPath = str7zInstallPath;
if (!File.Exists(this._7zInstallPath))
{
Console.WriteLine(String.Format("{0} 不存在.", this._7zInstallPath));
}
}
/// <summary>
/// 压缩文件夹目录
/// </summary>
/// <param name="strInDirectoryPath">指定需要压缩的目录,如C:\test\,将压缩test目录下的所有文件</param>
/// <param name="strOutFilePath">压缩后压缩文件的存放目录</param>
public void CompressDirectory(string strInDirectoryPath, string strOutFilePath, string strPassword = "", Boolean displayRunWindow = true)
{
Process process = new Process();
process.StartInfo.FileName = this._7zInstallPath;
strPassword = strPassword.Equals("") ? "" : String.Format("-p{0}", strPassword);
process.StartInfo.Arguments = String.Format(" a -t7z {0} {1} {2}", strOutFilePath, strInDirectoryPath, strPassword);
//隐藏DOS窗口
process.StartInfo.WindowStyle = displayRunWindow ? ProcessWindowStyle.Normal : ProcessWindowStyle.Hidden;
process.Start();
process.WaitForExit();
process.Close();
}
/// <summary>
/// 压缩文件
/// </summary>
/// <param name="strInFilePath">指定需要压缩的文件,如C:\test\demo.xlsx,将压缩demo.xlsx文件</param>
/// <param name="strOutFilePath">压缩后压缩文件的存放目录</param>
public void CompressFile(string strInFilePath, string strOutFilePath, string strPassword="",Boolean displayRunWindow = true)
{
Process process = new Process();
process.StartInfo.FileName = this._7zInstallPath;
strPassword = strPassword.Equals("") ? "" : String.Format("-p{0}", strPassword);
process.StartInfo.Arguments = String.Format(" a -t7z {0} {1} {2}", strOutFilePath, strInFilePath, strPassword);
//process.StartInfo.Arguments = " a -t7z " + strOutFilePath + " " + strInFilePath + "";
//隐藏DOS窗口
process.StartInfo.WindowStyle = displayRunWindow ? ProcessWindowStyle.Normal : ProcessWindowStyle.Hidden;
process.Start();
process.WaitForExit();
process.Close();
}
/// <summary>
/// 解压缩
/// </summary>
/// <param name="strInFilePath">压缩文件的路径</param>
/// <param name="strOutDirectoryPath">解压缩后文件的路径</param>
public void DecompressFileToDestDirectory(string strInFilePath, string strOutDirectoryPath, string strPassword = "", Boolean displayRunWindow = true)
{
Process process = new Process();
process.StartInfo.FileName = this._7zInstallPath;
strPassword = strPassword.Equals("") ? "" : String.Format("-p{0}", strPassword);
Console.WriteLine(this._7zInstallPath+String.Format(" x {0} -o{1} -r {2}", strInFilePath, strOutDirectoryPath, strPassword));
process.StartInfo.Arguments = String.Format(" x {0} -o{1} -r {2}", strInFilePath, strOutDirectoryPath, strPassword);
//隐藏DOS窗口
//process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.Start();
process.WaitForExit();
process.Close();
}
}public class ZipHelper
{
// Fields
private string _7zInstallPath = @"C:\Program Files\7-Zip\7z.exe";
// Methods
public ZipHelper(string str7zInstallPath)
{
this._7zInstallPath = str7zInstallPath;
if (!File.Exists(this._7zInstallPath))
{
Console.WriteLine(String.Format("{0} 不存在.", this._7zInstallPath));
}
}
/// <summary>
/// 压缩文件夹目录
/// </summary>
/// <param name="strInDirectoryPath">指定需要压缩的目录,如C:\test\,将压缩test目录下的所有文件</param>
/// <param name="strOutFilePath">压缩后压缩文件的存放目录</param>
public void CompressDirectory(string strInDirectoryPath, string strOutFilePath, string strPassword = "", Boolean displayRunWindow = true)
{
Process process = new Process();
process.StartInfo.FileName = this._7zInstallPath;
strPassword = strPassword.Equals("") ? "" : String.Format("-p{0}", strPassword);
process.StartInfo.Arguments = String.Format(" a -t7z {0} {1} {2}", strOutFilePath, strInDirectoryPath, strPassword);
//隐藏DOS窗口
process.StartInfo.WindowStyle = displayRunWindow ? ProcessWindowStyle.Normal : ProcessWindowStyle.Hidden;
process.Start();
process.WaitForExit();
process.Close();
}
/// <summary>
/// 压缩文件
/// </summary>
/// <param name="strInFilePath">指定需要压缩的文件,如C:\test\demo.xlsx,将压缩demo.xlsx文件</param>
/// <param name="strOutFilePath">压缩后压缩文件的存放目录</param>
public void CompressFile(string strInFilePath, string strOutFilePath, string strPassword="",Boolean displayRunWindow = true)
{
Process process = new Process();
process.StartInfo.FileName = this._7zInstallPath;
strPassword = strPassword.Equals("") ? "" : String.Format("-p{0}", strPassword);
process.StartInfo.Arguments = String.Format(" a -t7z {0} {1} {2}", strOutFilePath, strInFilePath, strPassword);
//process.StartInfo.Arguments = " a -t7z " + strOutFilePath + " " + strInFilePath + "";
//隐藏DOS窗口
process.StartInfo.WindowStyle = displayRunWindow ? ProcessWindowStyle.Normal : ProcessWindowStyle.Hidden;
process.Start();
process.WaitForExit();
process.Close();
}
/// <summary>
/// 解压缩
/// </summary>
/// <param name="strInFilePath">压缩文件的路径</param>
/// <param name="strOutDirectoryPath">解压缩后文件的路径</param>
public void DecompressFileToDestDirectory(string strInFilePath, string strOutDirectoryPath, string strPassword = "", Boolean displayRunWindow = true)
{
Process process = new Process();
process.StartInfo.FileName = this._7zInstallPath;
strPassword = strPassword.Equals("") ? "" : String.Format("-p{0}", strPassword);
Console.WriteLine(this._7zInstallPath+String.Format(" x {0} -o{1} -r {2}", strInFilePath, strOutDirectoryPath, strPassword));
process.StartInfo.Arguments = String.Format(" x {0} -o{1} -r {2}", strInFilePath, strOutDirectoryPath, strPassword);
//隐藏DOS窗口
//process.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
process.Start();
process.WaitForExit();
process.Close();
}
}
微信扫一扫,打赏作者吧~
最活跃的读者