C#通过cmd调用7z软件实现压缩和解压文件

 更新时间:2022年04月14日 14:39:44   作者:農碼一生  
这篇文章介绍了C#通过cmd调用7z软件实现压缩和解压文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

压缩文件:

public object CompressZipFile(string sourceFile, string destinationFile)
        {
            object resObj;
            Process process = new Process();
            string tempDestinationFile = "";

            try
            {
                if (process == null)
                {
                    process = new Process();
                }
                tempDestinationFile = destinationFile.ToLower().EndsWith(".zip") ? destinationFile : destinationFile + ".zip";
                process.StartInfo.FileName = "cmd.exe";
                string command1 = @"cd c:\progra~1\7-zip";
                process.StartInfo.UseShellExecute = false;
                process.StartInfo.RedirectStandardInput = true;
                process.StartInfo.RedirectStandardOutput = true;
                process.StartInfo.RedirectStandardError = true;
                process.StartInfo.CreateNoWindow = true;
                process.Start();
                process.StandardInput.WriteLine(@"c:");
                process.StandardInput.WriteLine(@"cd\");
                process.StandardInput.WriteLine(command1);
                process.StandardInput.WriteLine(@"7Z a -tzip " + destinationFile + " " + sourceFile);
                process.StandardInput.WriteLine("exit");

                string output = process.StandardOutput.ReadToEnd();
                if (output.ToUpper().IndexOf("EVERYTHING IS OK") > -1)
                {
                    resObj = new object[] { 0, "Compress file[" + destinationFile + "] OK" };
                }
                else
                {
                    resObj = new object[] { 1, "Compress File[" + destinationFile + "] Error!" };
                }

            }
            catch (Exception ex)
            {
                resObj = new object[] { 1, "Compress File[" + destinationFile + "] exception:" + ex.Message };

            }
            return resObj;
        }

解压文件:

public object decompressFile(string zipFilepath, string FileDir)
        {
            object resObj;
            try
            {
                string batfiledata = @"c:\progra~1\7-zip\7z.exe x " + zipFilepath + " -o" + FileDir + " -y";

                Process process = new Process();
                process.StartInfo.FileName = "cmd.exe";
                process.StartInfo.Arguments = "/c " + batfiledata;
                process.StartInfo.UseShellExecute = false;
                process.StartInfo.RedirectStandardInput = true;
                process.StartInfo.RedirectStandardOutput = true;
                process.StartInfo.RedirectStandardError = true;
                process.StartInfo.CreateNoWindow = true;
                process.Start();

                string output = process.StandardOutput.ReadToEnd();
                if (output.ToUpper().IndexOf("EVERYTHING IS OK") > -1)
                {
                    resObj = new object[] { 0, "解压完成" };
                }
                else
                {
                    resObj = new object[] { 1, "解压出错!" };
                }

            }
            catch (Exception ex)
            {
                resObj = new object[] { 1, ex.Message };
            }

            return resObj;

        }

到此这篇关于C#通过cmd调用7z软件实现压缩和解压文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C#实现定时任务Task Scheduler的示例代码

    C#实现定时任务Task Scheduler的示例代码

    这篇文章主要为大家详细介绍了C#实现定时任务Task Scheduler的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • C#中的is和as操作符区别小结

    C#中的is和as操作符区别小结

    这篇文章主要介绍了C#中的is和as操作符区别小结,is是验证操作对象是不是自己希望的,as是将对象转换成指定类型,需要的朋友可以参考下
    2015-01-01
  • Asp.Net中避免重复提交和弹出提示框的实例代码

    Asp.Net中避免重复提交和弹出提示框的实例代码

    本文分为前台和后台代码实现避免重复提交和弹出提示框效果,代码简单易懂,非常不错,具有参考借鉴价值,需要的的朋友参考下
    2017-02-02
  • C#中yield return用法分析

    C#中yield return用法分析

    这篇文章主要介绍了C#中yield return用法,对比使用yield return与不使用yield return的流程,更直观的分析了yield return的用法,需要的朋友可以参考下
    2014-09-09
  • C#实现String字符串转化为SQL语句中的In后接的参数详解

    C#实现String字符串转化为SQL语句中的In后接的参数详解

    在本篇文章中小编给大家分享的是一篇关于C#实现String字符串转化为SQL语句中的In后接的实例内容和代码,需要的朋友们参考下。
    2020-01-01
  • C#实现仿QQ抽屉式窗体的设计方法

    C#实现仿QQ抽屉式窗体的设计方法

    QQ软件对于绝大多数的人来说再熟悉不过了,它以使用方便、界面美观及功能完善而著称,本文给大家介绍了C#实现仿QQ抽屉式窗体的设计方法,主要通过使用API函数WindowFromPoint和GetParent实现仿QQ的抽屉式窗体,需要的朋友可以参考下
    2024-04-04
  • C# 连接SQL数据库的方法及常用连接字符串

    C# 连接SQL数据库的方法及常用连接字符串

    这篇文章主要介绍了C# 连接SQL数据库的方法及常用连接字符串,有需要的朋友可以参考一下
    2014-01-01
  • Quartz.Net调度框架配置解析

    Quartz.Net调度框架配置解析

    这篇文章主要为大家详细介绍了Quartz.Net调度框架的配置方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • C# Csv实现基本的读写和转换DataTable

    C# Csv实现基本的读写和转换DataTable

    本文主要介绍了C# Csv实现基本的读写和转换DataTable,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • C#使用OpenCvSharp实现透视变换功能

    C#使用OpenCvSharp实现透视变换功能

    这篇文章主要为大家详细介绍了C#如何使用OpenCvSharp实现透视变换的功能,文中的示例代码简洁易懂,具有一定的学习价值,需要的小伙伴可以参考下
    2023-11-11

最新评论