Ich verwende die Standard-VB.NET-Bibliotheken zum Extrahieren und Komprimieren von Dateien. Es funktioniert auch, aber das Problem kommt, wenn ich extrahieren muss und Dateien bereits existieren.System.IO.Compression und ZipFile - extrahieren und überschreiben
-Code verwende ich
Importe:
Imports System.IO.Compression
Methode nenne ich, wenn es
ZipFile.ExtractToDirectory(archivedir, BaseDir)
ArchiveDir und BaseDir werden ebenfalls eingestellt abstürzt, in der Tat funktioniert es, wenn es keine Dateien überschreiben. Das Problem kommt genau dann, wenn es da ist.
Wie kann ich Dateien in Extraktion ohne Verwendung von Third-Part-Bibliotheken überschreiben?
(Anmerkung Ich verwende als Referenz System.IO.Compression und System.IO.Compression.Filesystem)
Da die Dateien in mehreren Ordnern gehen bereits vorhandene Dateien mit würde ich vermeiden manuelle
IO.File.Delete(..)
Scheint mehr zu arbeiten, aber es funktioniert jetzt nicht für dumme Systemdateien wie "Thumbs.db", die Ausführung und Überschreiben fehlschlagen lassen. Irgendwelche Ideen? – user1714647
Ein weiteres Problem: Es scheint nicht zu kopieren Datei, wenn der Ordner, der sie enthalten muss nicht existiert. – user1714647
Ich würde vorschlagen, benutzerdefinierte ZIP-Logik zu verwenden und alle unerwünschten Dateien wie "Thumbs.db" zu entfernen; für die zweite benutze nächsten Code Wenn IO.Directory.Exists (Pfad) = False Dann IO.Directory.CreateDirectory (Pfad) – volody