0

圧縮する必要があるさまざまなデータのパスを含む .lst ファイルがあります。パスは、実行可能ファイルへの直接パスまたはログ ファイルへのパスの場合もあれば、c:\abc*.exe のようなワイルドカードを含む場合もあります。それらすべてを 1 つの zip ファイルに圧縮するにはどうすればよいですか? ありがとう

DotNetZip ライブラリは @:http://dotnetzip.codeplex.com/wikipage?title=CS-examples&referringTitle=Examples です。

.lst ファイルの内容:

c:\log\abc.log

c:\log\def.log

c:\ping*.bat

c:\ping*.exe

これは私が試したものです:

using (ZipFile zip = new ZipFile())     
{                      
   StreamReader file = File.OpenText("C:\\pingman\\pingzipA.lst");
   string read = String.Empty;

   while ((read = file.ReadLine()) != null)                  
   {                                      
      zip.AddSelectedFiles(read, true);    
      zip.Save("c:\\update.zip");       
   }

   file.Close();   
}
4

3 に答える 3

1

これは、例のトンがあるリンクです。例を使用して、あなたがやろうとしていることを機能させるように見てください..ワイルドカードを使用する例もあります

例のある DontNetZip ライブラリ サイト

于 2012-10-16T17:55:56.983 に答える
1

次のようなものを試してください:

 while ((read = file.ReadLine()) != null)                  
 {              
   if (read.Contains("*"))                        
   {
       zip.AddSelectedFiles(read, true);    
   }
   else
   {
       zip.AddFile(read);
   }
 }
 zip.Save("c:\\update.zip");       
于 2012-10-16T19:16:01.987 に答える