使用7-zip读取存档

时间:2013-01-23 11:09:18

标签: c# .net zip 7zip

我正在尝试找到一种方法来读取压缩文件的内容/文件名,解压缩文件然后创建一个文本文件,其中包含解压缩的所有文件的列表。

大多数问题不是问题,但是阅读和使用档案中的文件证明比应该更难。

我目前的代码是......

var options = new Options();
            ICommandLineParser parser = new CommandLineParser();

            string strInput = "", strOutput = "", strExtract = "", strPassword = "";

            Console.WriteLine("parsing..");

            if (parser.ParseArguments(args, options))
            {
                Console.WriteLine("checking...");
                if (string.IsNullOrEmpty(options.InputFile))
                {
                    Console.WriteLine("input is empty");
                    Console.WriteLine(options.GetUsage()); 
                }

                strInput = options.InputFile;
                strOutput = options.OutputFile;
                strExtract = options.ExtractFormat;
                strPassword = options.Password;

                ProcessStartInfo p = new ProcessStartInfo();
                p.FileName = "7za.exe";

                Console.WriteLine("x " + "-" + strExtract + " -p" + strPassword + " " + strInput + " -o" + strOutput);
                p.Arguments = "x " + "-" + strExtract + " -p" + strPassword + " " + strInput + " -o" + strOutput;
                p.WindowStyle = ProcessWindowStyle.Hidden;

                Process x = Process.Start(p);
                x.WaitForExit();

我找到了一些资源可以帮助但到目前为止还没有任何工作。 找到的资源: http://pastebin.com/eTRE4TPP(我不明白他们是如何使用未声明的变量“l”,但即使将其更改为“p”也不起作用。 http://www.dotnetperls.com/7-zip-examples(命令l看起来可以使用,但我不知道如何获取文件名并存储它们)

非常感谢任何帮助。

由于

1 个答案:

答案 0 :(得分:-1)

具体要求您使用7Zip是什么? SharpZipLib可能能够满足您的需求。