使用 7zip 压缩文件的示例 C# .net 代码

发布于 2024-09-09 07:02:27 字数 118 浏览 9 评论 0原文

我已在我的计算机上安装了 7-zip 4.65,路径为 C:\Program files。我想在 C# 代码中使用它来压缩文件。文件名将由用户动态提供。任何人都可以提供有关如何在 C# 代码中使用 7zip 的示例代码吗?

I have installed 7-zip 4.65 on my machine at C:\Program files. I want to use it in C# code to zip a file. The file name will be provided by the user dynamically. Can any one please provide a sample code on how to use 7zip in C# code?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

阿楠 2024-09-16 07:02:27

上面给出了很多答案,但我使用下面提到的代码来使用 7zip 压缩或解压缩文件,

您的系统中必须有 7zip 应用程序。

     public void ExtractFile(string source, string destination)
        {
            // If the directory doesn't exist, create it.
            if (!Directory.Exists(destination))
                Directory.CreateDirectory(destination);

            string zPath = @"C:\Program Files\7-Zip\7zG.exe";
// change the path and give yours 
            try
            {
                ProcessStartInfo pro = new ProcessStartInfo();
                pro.WindowStyle = ProcessWindowStyle.Hidden;
                pro.FileName = zPath;
                pro.Arguments = "x \"" + source + "\" -o" + destination;
                Process x = Process.Start(pro);
                x.WaitForExit();
            }
            catch (System.Exception Ex) {
              //DO logic here 
              }
        }

创建 zip 文件

public void CreateZip()
{
    string sourceName = @"d:\a\example.txt";
    string targetName = @"d:\a\123.zip";
    ProcessStartInfo p = new ProcessStartInfo();
    p.FileName = @"C:\Program Files\7-Zip\7zG.exe";
    p.Arguments = "a -tgzip \"" + targetName + "\" \"" + sourceName + "\" -mx=9";
    p.WindowStyle = ProcessWindowStyle.Hidden;
    Process x = Process.Start(p);
    x.WaitForExit();
}

lots of answer given above but i used this below mention code to zip or unzip a file using 7zip

you must have 7zip application in your system .

     public void ExtractFile(string source, string destination)
        {
            // If the directory doesn't exist, create it.
            if (!Directory.Exists(destination))
                Directory.CreateDirectory(destination);

            string zPath = @"C:\Program Files\7-Zip\7zG.exe";
// change the path and give yours 
            try
            {
                ProcessStartInfo pro = new ProcessStartInfo();
                pro.WindowStyle = ProcessWindowStyle.Hidden;
                pro.FileName = zPath;
                pro.Arguments = "x \"" + source + "\" -o" + destination;
                Process x = Process.Start(pro);
                x.WaitForExit();
            }
            catch (System.Exception Ex) {
              //DO logic here 
              }
        }

to create zip file

public void CreateZip()
{
    string sourceName = @"d:\a\example.txt";
    string targetName = @"d:\a\123.zip";
    ProcessStartInfo p = new ProcessStartInfo();
    p.FileName = @"C:\Program Files\7-Zip\7zG.exe";
    p.Arguments = "a -tgzip \"" + targetName + "\" \"" + sourceName + "\" -mx=9";
    p.WindowStyle = ProcessWindowStyle.Hidden;
    Process x = Process.Start(p);
    x.WaitForExit();
}
↙厌世 2024-09-16 07:02:27

您需要源代码,而不是二进制版本。

这可以通过 LZMA SDK 获取。

您将在其中找到一个文件夹 CS,其中包含 7zip 文件算法的 C# 实现。

Instead of the binary version you need the source code.

This can be get as the LZMA SDK.

There you'll find a folder CS that contains a C# implementation of the algorithm for 7zip files.

怀里藏娇 2024-09-16 07:02:27

我想如果您希望使用 c:\program files 中已安装的程序,您可以使用 System.Diagnostics.Process 来运行命令行应用程序 -
http://msdn.microsoft.com/en-us/ Library/system.diagnostics.process.aspx

传递参数也很容易。这里有很多例子——
http://www.c-sharpcorner.com/UploadFile/DipalChoksi/ ShellCommandsInCS12032005042031AM/ShellCommandsInCS.aspx

I suppose if you wish to use the installed one you have in c:\program files, you could just use System.Diagnostics.Process to run command line apps -
http://msdn.microsoft.com/en-us/library/system.diagnostics.process.aspx

Passing parameters is easy too. There are plenty of examples here -
http://www.c-sharpcorner.com/UploadFile/DipalChoksi/ShellCommandsInCS12032005042031AM/ShellCommandsInCS.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文