public void Extract(string extractFromPath, FileOverwrite overwrite) { if (overwrite == FileOverwrite.Yes) { _zipEntry.Extract(extractFromPath, ExtractExistingFileAction.OverwriteSilently); } else { if (overwrite == FileOverwrite.No) { _zipEntry.Extract(extractFromPath, ExtractExistingFileAction.DoNotOverwrite); } } }
/// <summary> /// Копирование файла. FileExists = (Overwrite, Skip, Ask) /// </summary> /// <param name="fileSource">Исходный файл</param> /// <param name="fileDestination">Куда копируем - полное имя нового файла</param> /// <param name="fileExists">Настройки копирования</param> /// <param name="showMes">Если ошибка, то показываем сообщение</param> /// <param name="errorMes">Возвращает текст ошибки при копировании, если произошла.</param> /// <returns>Если файл успешно скопирован, то true</returns> public static bool FileCopy(string fileSource, string fileDestination, FileOverwrite fileExists, bool showMes, out string errorMes) { errorMes = ""; try { bool Overwrite = true; if (fileExists == FileOverwrite.Overwrite) { Overwrite = true; } if (fileExists == FileOverwrite.Skip) { Overwrite = false; } if (fileExists == FileOverwrite.Ask) { if (File.Exists(fileDestination)) { if (!SM("File already exists: " + fileDestination + CR + "Overwrite?", MessageType.Question, "Copying file")) { Overwrite = false; } } } File.Copy(fileSource, fileDestination, Overwrite); return(true); } catch (Exception ex) { errorMes = ex.Message; if (showMes) { SM("Error copying file " + fileSource + " в " + fileDestination + CR + ex.Message); } return(false); } }