Próbuję .tar.gz listę plików z folderu za pomocą SharpZipLib. Problem polega na tym, jak przekazywać ścieżki plików - wynik zawsze zawiera ścieżki plików - i nie tylko pliki same w sobie. Czego tu mi brakuje?Utwórz archiwum .tar.gz bez struktury folderów za pomocą SharpZipLib
string filesFolder = "c:\\testfolder\\test\\";
List<string> filesToZip = new List<string>() { filesFolder +"test1", filesFolder +"test2"};
using (FileStream fs = new FileStream(filesFolder +"myGz.tar.gz" , FileMode.Create, FileAccess.Write, FileShare.None))
using (Stream gzipStream = new GZipOutputStream(fs))
using (TarArchive tarArchive = TarArchive.CreateOutputTarArchive(gzipStream))
{
foreach (string filename in filesToZip)
{
{
TarEntry tarEntry = TarEntry.CreateEntryFromFile(filename);
tarArchive.WriteEntry(tarEntry, false);
}
}
}
to, co otrzymam, to pliki "myGz.tar.gz". Kiedy próbuję otworzyć go przy pomocy 7.zip - otrzymuję pełną strukturę folderów w archiwum - c: \ testfolder \ test \, aw nim - "test1", "test".
Jak usunąć ścieżki plików?
Dzięki
To może być przydatne: http://stackoverflow.com/questions/1350653/c-sharp-sharpziplib-strips-irrelevant-directory-names –
To dlatego, że mówisz to też! Jak myślisz, dlaczego robi to w jakikolwiek inny sposób? – leppie
Nie widziałem innego sposobu dodawania do tar bez podania pełnej ścieżki do pliku. M Sakher Sawan - dziękuję! działa na plikach zip - ale nie mogłem znaleźć przykładu dla plików .gz – kiki