2014-09-30 58 views
0

我在我的應用程序中使用Xceed.Zip.QuickZip.Zip實用程序的付費版本來壓縮包含文件和目錄的文件夾。下面是我使用避免使用Xceed.Zip.QuickZip.Zip實用程序創建不必要的目錄

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

ZipFilePath的Xceed郵編命令THR最終拉鍊,包括在壓縮將創建的路徑名。因此,它是像d:\ MyData的/ MyZip.zip

而且,filesToZip是這樣 d:\ MyDataToZip \版本\ *。*

所以在創建ZIP的時候,我看到一個MyDataToZip文件夾,其中包含版本文件夾,然後包含版本文件夾內的所有內容。

但我想要的zip不包含MyDataToZip &版本文件夾。它應該從版本文件夾開始。我怎樣才能做到這一點?

請注意,我的應用程序是建立在.NET 4.0,所以我不能使用System.IO.Compression :(

在這方面的任何幫助將非常感激。謝謝

回答

0

你需要使用

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

作爲第四參數是:

preservePaths 布爾值,指示是否應將該目錄結構保存在zip文件中。

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

+0

preservePaths設置爲false,把一切的主。根本不創建子文件夾。我希望所有的目錄/子目錄都保存在\ *。*之後,但我不想在之前出現的目錄。 – WAQ 2014-09-30 11:49:14

+1

@WQad,那麼你可能需要使用其他方法,如['CopyFilesTo'](http://doc.xceedsoft.com/products/XceedWfWorkflow/Xceed.FileSystem~Xceed.FileSystem.AbstractFolder~CopyFilesTo(AbstractFolder,Boolean,Boolean ,對象[])。HTML)。 [看這個例子](http://xceed.com/CS/forums/thread/32065.aspx) – Bolu 2014-09-30 13:07:48

相關問題