compression - c# sevenzipsharp- adding folder to new/existing archive -


i have code compressing folders/files:

      sevenzipcompressor compressor = new sevenzipcompressor();                  foreach (string listboxitem in listboxtocompress.items)                 {                     string choosenpath = listboxitem;                      int filecount = directory.getfiles(listboxitem).length;                     int foldercount = directory.getdirectories(listboxitem).length;                      if (filecount == 0 && foldercount == 0)                     {                         messagebox.show("folder " + listboxitem + " empty");                     }                     else                     {                         listbox1.items.add("========================================");                         listbox1.items.add("compressing. "+listboxitem+" wait...");                         listbox1.refresh();                         if (file.exists(zipfile) == true)                         {                             compressor.compressionmode = compressionmode.append;                             compressor.archiveformat = outarchiveformat.zip;                             compressor.compressdirectory(choosenpath, zipfile);                                          ++done;                         }                         else                         {                             compressor.compressionmode = compressionmode.create;                             compressor.archiveformat = outarchiveformat.zip;                             compressor.compressdirectory(choosenpath, zipfile);                                          ++done;                         }                         listbox1.items.add("done.");                         listbox1.refresh();                     }                 } 

as can see, i'm taking folders listbox. ex. i'm adding folders compress 1 file.zip listbox looks like:

+c:/test +d:/somefolder 

full structure is:

 +c:/test  |--c:/test/testfile.exe  |--c:/test/testfolder   d:/somefolder  |--d:/somefile.exe 

but now, after compression, archive looks like:

 +archive.zip  |--testfile.exe  |--testfolder  |--somefile.exe 

how create overriding folder. want archive looks like:

 +archive.zip  |-test    |----testfile.exe    |----testfolder  |-somefolder    |----somefile.exe  

well... should add line:

 compressor.preservedirectoryroot = true; 

this option disabled default, after enable- problem magically solved :)


Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -