7zip:在C#中,如何将不同目录下的多个同名文件添加到同一个zip文件中?
Posted
技术标签:
【中文标题】7zip:在C#中,如何将不同目录下的多个同名文件添加到同一个zip文件中?【英文标题】:7zip: In C#, how to add multiple files of the same name in different directories to the same zip file? 【发布时间】:2011-10-11 20:15:44 【问题描述】:我创建了一个 C# sn-p,它调用 7zip (7za) 将文件列表添加到 zip 存档中。问题是不同目录中的多个文件具有相同的名称,因此 7zip 要么抱怨名称重复,要么将第一个文件替换为仅存储最后添加的第二个文件。我无法递归扫描允许重复的目录。
在不考虑完整路径的情况下,有没有办法强制 7zip 存储目录,或者在 ASP.NET MVC 3 C# 中创建具有重复文件名的 zip 文件?
我们图片的路径是每五位数字分隔的 GTIN 编号。最后五个是图像的名称。
G:\1234\56789\01234.jpg
G:\4321\09876\01234.jpg
G:\5531\33355\01234.jpg
这些将无法正确存储在 7zip 存档中。
【问题讨论】:
【参考方案1】:您可以使用 SevenZipSharp:http://sevenzipsharp.codeplex.com/ 一个 7zip 的包装器。您将完全控制代码。
【讨论】:
github.com/squid-box/SevenZipSharp 新位置【参考方案2】:我们通过创建一个不包含前导反斜杠的文件列表,然后从包含它们的目录运行应用程序,设法在同一个存档中获得多个:
1234\56789\01234.jpg
4321\09876\01234.jpg
5531\33355\01234.jpg
它现在解决了它。谁有更好的主意?
【讨论】:
以上是关于7zip:在C#中,如何将不同目录下的多个同名文件添加到同一个zip文件中?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C# 中的 WinRAR、7Zip、Zip、Tar、Winzip 中检查文件是不是存在
C# 解析XML文件,使用XmlNode["..."]的方式能访问到此节点下的多个同名节点吗?