Я использую DotNetZip DLL (http://dotnetzip.codeplex.com/) из кода, чтобы заархивировать некоторые файлы в моей программе.Файлы Zipping, сохраняющие структуру каталогов
Проблема, с которой я столкнулся, - после того, как застегнул файлы, он сохраняет структуру каталогов, и когда я извлекаю zip-файл, все родительские папки снова создаются, а затем только я могу просмотреть файл. Это очень раздражает, когда исходный файл существует в
Итак, если я застегнул файл из g: \ Archive \ LogFiles \ W3SVC1 \ abc.log и создав файл «abc.zip» после его извлечения, папки Archive \ LogFiles \ W3SVC1 \ создаются, а затем только я могу видеть файл abc.log. Здесь 'g:' - это имя моего общего диска.
Я хочу избавиться от всех этих родительских папок, чтобы я мог сразу извлечь и дотянуться до заархивированного файла и открыть его. Я проверил свойство Path файла Zipped и отобразил Archive \ LogFiles \ W3SVC1. Как-то мне нужно удалить это программно, но не легко найти какой-либо вариант.
код я использую, как это:
using (ZipFile zip = new ZipFile())
{
if (fileExtension != null)
{
zip.AddFiles(from f in sourceDir.GetFiles() where f.FullName.EndsWith(fileExtension) select f.FullName);
}
else
{
zip.AddFiles(from f in sourceDir.GetFiles() select f.FullName);
}
zip.Save(DestinationDir + OutFileName);
}
Я также попробовал метод перегрузки Addfiles, установив reserveDirectoryHierarchy к «ложным», но не приносит никакой пользы.
Пожалуйста, дайте мне знать, что делать.
Большое спасибо заранее.