Ich versuche, .tar.gz eine Liste von Dateien aus einem Ordner mit SharpZipLib. Das Problem ist, egal wie die Dateipfade übergeben werden - das Ergebnis enthält immer die Dateipfade - und nicht nur die Dateien selbst. Was fehlt mir hier?Erstellen Sie ein .tar.gz-Archiv ohne Ordnerstruktur mit 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);
}
}
}
was ich bekomme, ist eine "myGz.tar.gz" -Dateien. Wenn ich versuche, es mit 7.zip zu öffnen - ich bekomme die vollständige Ordnerstruktur im Archiv - c: \ testfolder \ test \, und darin - "test1", "test".
Wie entferne ich die Dateipfade?
Dank
Dies könnte nützlich sein: http://stackoverflow.com/questions/1350653/c-sharp-sharpziplib-strips-irrelevant-directory-names –
Das liegt daran, dass Sie es zu sagen! Warum denkst du, dass es anders geht? – leppie
Ich habe keine andere Möglichkeit gesehen, tar hinzuzufügen, ohne den vollständigen Dateipfad anzugeben. M Sakher Sawan - danke! Es funktioniert zwar mit ZIP-Dateien - aber ich konnte kein Parapleel-Beispiel für .gz-Dateien finden – kiki