Ich habe eine Lösung für die Aktualisierung einer Anwendung, die die API DotNetZip (http://dotnetzip.codeplex.com/) für die Verarbeitung von ZIP-Dateien verwendet. Eine Methode besteht darin, Dateien in bestimmten Ordnern wie folgt zu überschreiben.ExtractExistingFileAction.OverwriteSilently überschreibt nicht die Dateien in einem bestimmten Verzeichnis
ZipFile zipFile = ZipFile.Read(file);
{
foreach (ZipEntry zipEntry in zipFile)
{
zipEntry.Extract(@"C:\IASD\CantinaEscolar", ExtractExistingFileAction.OverwriteSilently);
}
}
Wo: @ "c: \ SDA \ CantinaEscolar"
ist, wo die Dateien innerhalb des (files)
Zip entpackt werden.
Wenn das Verzeichnis jetzt bereits eine Datei mit demselben Namen enthält, die entpackt wird, gibt die Anwendung einen Fehler zurück, der sich auf die bereits im Verzeichnis vorhandene Datei bezieht.
System.IO.IOException: The file 'c:\IASD\CantinaEscola\nomedoarquivo.exe' already exists
OverwriteSilently
Diese Methode sollte die entpackten Dateien geräuschlos nicht außer Kraft setzen (ohne Bestätigung Benutzer auffordert)?
Oder: Gibt es eine Möglichkeit, dies im Verzeichnis überschrieben (-type f oder etwas) zu erzwingen?
Wenn Sie andere Tipps zur Durchführung dieser Aufgabe besitzen, werde ich Ihnen dankbar sein.