[*]
Текущий метод извлекает zip-файл без/переопределения варианты.
[*]
Я хотел бы знать, как извлечь zip-файл в папку со всей его структурой, но с возможностью переименования.
[*]
Если файлы существуют, переименуйте их, как в окне?
[*]
Я решил извлечь zip-файл с параметром переопределения = false во временную папку с помощью функции Compression.ExtractToFolder.
[*]
Следующий шаг по перебору временной папки:
и скопируйте структуру пробелов вложенных папок и файлов и, если файл существует, переименуйте его.
строка zipFilePath = zipPathForFolderOrPathForFile; Путь извлечения строки = SelectedItem.Path; строка guid = Guid.NewGuid().ToString(); строка tempExtractionPath = Path.Combine(extractionPath, guid); System.IO.Compression.ZipFile.ExtractToDirectory(zipFilePath, tempExtractionPath); // нет переопределения ProcessDirectory(tempExtractionPath, guid);
private void ProcessDirectory (строка sourceDirectory, строка guid) { строка [] fileEntries = Directory.GetFiles(sourceDirectory); foreach (строка fileName в fileEntries) ProcessFile (имя файла, руководство); string[] subdirectoryEntries =Directory.GetDirectories(sourceDirectory); foreach (строковый подкаталог в subdirectoryEntries) { // У меня проблема с созданием новой несуществующей подпапки.
ProcessDirectory(подкаталог, руководство); } } частный void ProcessFile (путь к строке, идентификатор строки) { var newFile = path.Substring(0, path.LastIndexOf(Path.DirectorySeparatorChar)); newFile = newFile.Replace(Path.Combine(Path.DirectorySeparatorChar.ToString(),guid), string.Empty); новыйФайл = Путь.Объединить(новыйФайл,Путь.GetFileName(путь)); число int = 1; в то время как (File.Exists(newFile)) { строка fileNameWithoutExtension = Path.GetFileNameWithoutExtension(newFile); строка fileExtension = Path.GetExtension(newFile); newFile = Path.Combine(Path.GetDirectoryName(newFile),$"{fileNameWithoutExtension}_Copy{count}{fileExtension}"); считать++; } Файл.Создать(новыйФайл); } 6.У меня проблема с пробелами в структуре подпапок и файлов. Заранее спасибо,
System.IO.Compression.ZipFile.ExtractToDirectory с переименованием [закрыто] ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Распаковка большого файла Gzip не работает с использованием System.IO.Compression
Anonymous » » в форуме C# - 0 Ответы
- 19 Просмотры
-
Последнее сообщение Anonymous
-