private void RemoveFile() { try { _sevenZipExtractor = new SevenZipExtractor(_archivePath); _sevenZipCompressor = new SevenZipCompressor(tempPath); _sevenZipCompressor.DirectoryStructure = true; _sevenZipCompressor.IncludeEmptyDirectories = true; _sevenZipCompressor.PreserveDirectoryRoot = true; _sevenZipCompressor.Compressing += Compressing; _sevenZipCompressor.FileCompressionStarted += FileCompressionStarted; _sevenZipCompressor.CompressionFinished += CompressionFinished; _sevenZipCompressor.FileCompressionFinished += FileCompressionFinished; var fileIndexDictionary = new Dictionary<int, string>(); foreach (ArchiveFileInfo archiveFileInfo in _sevenZipExtractor.ArchiveFileData) { if (!archiveFileInfo.IsDirectory && _fileAndDirectoryFullPaths.Contains(archiveFileInfo.FileName)) { fileIndexDictionary.Add(archiveFileInfo.Index, null); } } _sevenZipCompressor.ModifyArchive(_archivePath, fileIndexDictionary); Done(); } catch { /* var dialog = new TaskDialog(); dialog.StandardButtons = TaskDialogStandardButtons.Ok; dialog.Text = ex.Message; dialog.Show(); Invoke(new InvokeNone(Dispose)); */ } }
public void CompressionTestFeaturesModifyMode(){ var arch = Path.Combine(tempFolder, TestContext.TestName + ".7z"); var tmp = new SevenZipCompressor(); tmp.CompressDirectory(testFold2, arch); tmp.ModifyArchive(arch, new Dictionary<int, string>(){{0, testFile1}}); //Delete //tmp.ModifyArchive(@"d:\Temp\test.7z", new Dictionary<int, string>() { { 19, null }, { 1, null } }); }