2014-09-30 2 views
0

Я использую платную версию утилиты Xceed.Zip.QuickZip.Zip в своем приложении для сжатия папки, содержащей файлы и каталоги. Вот команда Zip Xceed, что я используюИзбегайте создания ненужных каталогов с помощью утилиты Xceed.Zip.QuickZip.Zip

Xceed.Zip.Licenser.LicenseKey = XceedZipKey; 
Xceed.Zip.QuickZip.Zip(ZipFilePath, true, true, true, filesToZip); 

ZipFilePath это имя Чет конечного почтового индекса, включая путь, по которому будет создан почтовый. Так что, как D: \ MyData/MyZip.zip

И filesToZip подобен этому D:. \ MyDataToZip \ Версии \ *

Так что, когда создается почтовый, я вижу папку MyDataToZip, который содержит папку «Версии», а затем все, что находится внутри папки «Версия».

Но я хочу, чтобы zip не содержал папку версий MyDataToZip &. Он должен начинаться с папки «Версии». Как я могу это достичь?

Пожалуйста, обратите внимание, что мое приложение построено на .Net 4.0, так что я не могу использовать System.IO.Compression :(

Любая помощь в этом отношении будет высоко ценится. Спасибо

ответ

0

вам нужно использовать

Xceed.Zip.QuickZip.Zip(ZipFilePath, true, true, false, filesToZip); 

как 4 параметра:

preservePaths Логическое значение, указывающее сохранение структуры каталогов в zip-файле.

REF: Zip(String,Boolean,Boolean,Boolean,String[]) Method

+0

Установка preservePaths ложь ставит все на Майне. вообще не создает подпапок. Я хочу, чтобы все каталоги/вспомогательные каталоги сохранялись после \ *. *, Но мне не нужны каталоги, которые появляются до этого. – WAQ

+1

@WQad. Тогда вам, вероятно, придется использовать другой метод, например ['CopyFilesTo'] (http://doc.xceedsoft.com/products/XceedWfWorkflow/Xceed.FileSystem~Xceed.FileSystem.AbstractFolder~CopyFilesTo (AbstractFolder, Boolean, Boolean , Object []). HTML). [См. Это для примера] (http://xceed.com/CS/forums/thread/32065.aspx) – Bolu

Смежные вопросы