我有一个.lst文件,其中包含必须压缩的各种数据的路径。该路径可以是可执行文件的直接路径或日志文件的路径,也可以包含通配符,如 - c:\abc*.exe。如何将所有这些压缩到一个 zip 文件中?谢谢
DotNetZip Library 是 @: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();
}
尝试如下操作:
while ((read = file.ReadLine()) != null)
{
if (read.Contains("*"))
{
zip.AddSelectedFiles(read, true);
}
else
{
zip.AddFile(read);
}
}
zip.Save("c:\update.zip");
这是一个链接,其中包含大量示例,看看使用这些示例来执行您正在尝试做的事情.. 甚至还有一个使用通配符的示例
DontNetZip 库网站与示例
让它工作了。
if (read.Contains("*"))
{
int i = read.IndexOf("*");
string path = read.Substring(0, i--);
string doc = read.Substring(i+1);
zip.AddSelectedFiles(doc, @path, true);
}
else
{
zip.AddFile(read);
}