Class Archive
Namespace: Aspose.Zip
Assembly: Aspose.Zip.dll (25.1.0)
Diese Klasse stellt eine Zip-Archivdatei dar. Verwenden Sie sie, um Zip-Archive zu erstellen, zu extrahieren oder zu aktualisieren.
public class Archive : IArchive, IDisposable
Vererbung
Implementiert
Vererbte Mitglieder
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Konstruktoren
Archive(ArchiveEntrySettings)
Initialisiert eine neue Instanz der Aspose.Zip.Archive-Klasse mit optionalen Einstellungen für ihre Einträge.
public Archive(ArchiveEntrySettings newEntrySettings = null)
Parameter
newEntrySettings
ArchiveEntrySettings
Komprimierungs- und Verschlüsselungseinstellungen, die für neu hinzugefügte Aspose.Zip.ArchiveEntry-Elemente verwendet werden. Wenn nicht angegeben, wird die gängigste Deflate-Komprimierung ohne Verschlüsselung verwendet.
Beispiele
Das folgende Beispiel zeigt, wie man eine einzelne Datei mit den Standardeinstellungen komprimiert.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(zipFile);
}
}
Archive(Stream, ArchiveLoadOptions, ArchiveEntrySettings)
Initialisiert eine neue Instanz der Aspose.Zip.Archive-Klasse und erstellt eine Eintragsliste, die aus dem Archiv extrahiert werden kann.
public Archive(Stream sourceStream, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)
Parameter
sourceStream
Stream
Die Quelle des Archivs.
loadOptions
ArchiveLoadOptions
Optionen zum Laden eines vorhandenen Archivs.
newEntrySettings
ArchiveEntrySettings
Komprimierungs- und Verschlüsselungseinstellungen, die für neu hinzugefügte Aspose.Zip.ArchiveEntry-Elemente verwendet werden. Wenn nicht angegeben, wird die gängigste Deflate-Komprimierung ohne Verschlüsselung verwendet.
Beispiele
Das folgende Beispiel extrahiert ein verschlüsseltes Archiv und dekomprimiert dann den ersten Eintrag in einen MemoryStream
.
var fs = File.OpenRead("encrypted.zip");
var extracted = new MemoryStream();
using (Archive archive = new Archive(fs, new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Bemerkungen
Dieser Konstruktor dekomprimiert keinen Eintrag. Siehe die Methode Aspose.Zip.ArchiveEntry.Open(System.String) zum Dekomprimieren.
Ausnahmen
sourceStream
ist nicht suchbar.
Der Verschlüsselungsheader für AES widerspricht der WinZip-Komprimierungsmethode.
Archive(string, ArchiveLoadOptions, ArchiveEntrySettings)
Initialisiert eine neue Instanz der Aspose.Zip.Archive-Klasse und erstellt eine Eintragsliste, die aus dem Archiv extrahiert werden kann.
public Archive(string path, ArchiveLoadOptions loadOptions = null, ArchiveEntrySettings newEntrySettings = null)
Parameter
path
string
Der vollständig qualifizierte oder relative Pfad zur Archivdatei.
loadOptions
ArchiveLoadOptions
Optionen zum Laden eines vorhandenen Archivs.
newEntrySettings
ArchiveEntrySettings
Komprimierungs- und Verschlüsselungseinstellungen, die für neu hinzugefügte Aspose.Zip.ArchiveEntry-Elemente verwendet werden. Wenn nicht angegeben, wird die gängigste Deflate-Komprimierung ohne Verschlüsselung verwendet.
Beispiele
Das folgende Beispiel extrahiert ein verschlüsseltes Archiv und dekomprimiert dann den ersten Eintrag in einen MemoryStream
.
var extracted = new MemoryStream();
using (Archive archive = new Archive("encrypted.zip", new ArchiveLoadOptions() { DecryptionPassword = "p@s$" }))
{
using (var decompressed = archive.Entries[0].Open())
{
byte[] b = new byte[8192];
int bytesRead;
while (0 < (bytesRead = decompressed.Read(b, 0, b.Length)))
extracted.Write(b, 0, bytesRead);
}
}
Bemerkungen
Dieser Konstruktor dekomprimiert keinen Eintrag. Siehe die Methode Aspose.Zip.ArchiveEntry.Open(System.String) zum Dekomprimieren.
Ausnahmen
path
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.
Der path
ist leer, enthält nur Leerzeichen oder ungültige Zeichen.
Zugriff auf die Datei path
wurde verweigert.
Der angegebene path
, Dateiname oder beides überschreiten die systemdefinierte maximale Länge. Zum Beispiel müssen unter Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.
Die Datei unter path
enthält einen Doppelpunkt (:) in der Mitte des Strings.
Die Datei wurde nicht gefunden.
Der angegebene Pfad ist ungültig, z. B. weil er sich auf einem nicht zugeordneten Laufwerk befindet.
Die Datei ist bereits geöffnet.
Die Datei ist beschädigt.
Archive(string, string[], ArchiveLoadOptions)
Initialisiert eine neue Instanz der Aspose.Zip.Archive-Klasse aus einem mehrteiligen Zip-Archiv und erstellt eine Eintragsliste, die aus dem Archiv extrahiert werden kann.
public Archive(string mainSegment, string[] segmentsInOrder, ArchiveLoadOptions loadOptions = null)
Parameter
mainSegment
string
Pfad zum letzten Segment des mehrteiligen Archivs mit dem zentralen Verzeichnis.
In der Regel hat dieses Segment die Erweiterung *.zip und ist kleiner als die anderen.
segmentsInOrder
string[]
Pfad zu jedem Segment außer dem letzten des mehrteiligen Zip-Archivs in der richtigen Reihenfolge.
In der Regel werden sie filename.z01, filename.z02, …, filename.z(n-1) genannt.
loadOptions
ArchiveLoadOptions
Optionen zum Laden eines vorhandenen Archivs.
Beispiele
Dieses Beispiel extrahiert ein Archiv mit drei Segmenten in ein Verzeichnis.
using (Archive a = new Archive("archive.zip", new string[] { "archive.z01", "archive.z02" }))
{
a.ExtractToDirectory("destination");
}
Ausnahmen
Kann die ZIP-Header nicht laden, da die bereitgestellten Dateien beschädigt sind.
Eigenschaften
Entries
Erhält die Einträge vom Typ Aspose.Zip.ArchiveEntry, die das Archiv bilden.
public ReadOnlyCollection<archiveentry> Entries { get; }
Eigenschaftswert
ReadOnlyCollection<ArchiveEntry>
NewEntrySettings
Komprimierungs- und Verschlüsselungseinstellungen, die für neu hinzugefügte Aspose.Zip.ArchiveEntry-Elemente verwendet werden.
public ArchiveEntrySettings NewEntrySettings { get; }
Eigenschaftswert
Methoden
CreateEntries(DirectoryInfo, bool)
Fügt dem Archiv alle Dateien und Verzeichnisse rekursiv im angegebenen Verzeichnis hinzu.
public Archive CreateEntries(DirectoryInfo directory, bool includeRootDirectory = true)
Parameter
directory
DirectoryInfo
Verzeichnis zum Komprimieren.
includeRootDirectory
bool
Gibt an, ob das Wurzelverzeichnis selbst einbezogen werden soll oder nicht.
Rückgabewert
Das Archiv mit den erstellten Einträgen.
Beispiele
using (Archive archive = new Archive())
{
DirectoryInfo folder = new DirectoryInfo("C:\folder");
archive.CreateEntries(folder);
archive.Save("folder.zip");
}
Ausnahmen
Der Pfad zu directory
ist ungültig, z. B. weil er sich auf einem nicht zugeordneten Laufwerk befindet.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf directory
.
CreateEntries(string, bool)
Fügt dem Archiv alle Dateien und Verzeichnisse rekursiv im angegebenen Verzeichnis hinzu.
public Archive CreateEntries(string sourceDirectory, bool includeRootDirectory = true)
Parameter
sourceDirectory
string
Verzeichnis zum Komprimieren.
includeRootDirectory
bool
Gibt an, ob das Wurzelverzeichnis selbst einbezogen werden soll oder nicht.
Rückgabewert
Das Archiv mit den erstellten Einträgen.
Beispiele
using (Archive archive = new Archive())
{
archive.CreateEntries("C:\folder");
archive.Save("folder.zip");
}
CreateEntry(string, string, bool, ArchiveEntrySettings)
Erstellt einen einzelnen Eintrag im Archiv.
public ArchiveEntry CreateEntry(string name, string path, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)
Parameter
name
string
Der Name des Eintrags.
path
string
Der vollständig qualifizierte Name der neuen Datei oder der relative Dateiname, der komprimiert werden soll.
openImmediately
bool
Wahr, wenn die Datei sofort geöffnet werden soll, andernfalls wird die Datei beim Speichern des Archivs geöffnet.
newEntrySettings
ArchiveEntrySettings
Komprimierungs- und Verschlüsselungseinstellungen, die für das hinzugefügte Aspose.Zip.ArchiveEntry-Element verwendet werden.
Rückgabewert
Zip-Eintrag-Instanz.
Beispiele
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("data.bin", "file.dat");
archive.Save(zipFile);
}
}
Bemerkungen
Der Eintragsname wird ausschließlich im name
-Parameter festgelegt. Der im path
-Parameter angegebene Dateiname hat keinen Einfluss auf den Eintragsnamen.
Wenn die Datei sofort mit dem openImmediately
-Parameter geöffnet wird, wird sie blockiert, bis das Archiv gespeichert wird.
Ausnahmen
path
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.
Der path
ist leer, enthält nur Leerzeichen oder ungültige Zeichen.
Zugriff auf die Datei path
wurde verweigert.
Der angegebene path
, Dateiname oder beides überschreiten die systemdefinierte maximale Länge. Zum Beispiel müssen unter Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.
Die Datei unter path
enthält einen Doppelpunkt (:) in der Mitte des Strings.
CreateEntry(string, Stream, ArchiveEntrySettings)
Erstellt einen einzelnen Eintrag im Archiv.
public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings = null)
Parameter
name
string
Der Name des Eintrags.
source
Stream
Der Eingabestream für den Eintrag.
newEntrySettings
ArchiveEntrySettings
Komprimierungs- und Verschlüsselungseinstellungen, die für das hinzugefügte Aspose.Zip.ArchiveEntry-Element verwendet werden.
Rückgabewert
Zip-Eintrag-Instanz.
Beispiele
using (var archive = new Archive(new ArchiveEntrySettings(null, new AesEcryptionSettings("p@s$", EncryptionMethod.AES256))))
{
archive.CreateEntry("data.bin", new MemoryStream(new byte[] {0x00, 0xFF} ));
archive.Save("archive.zip");
}
CreateEntry(string, FileInfo, bool, ArchiveEntrySettings)
Erstellt einen einzelnen Eintrag im Archiv.
public ArchiveEntry CreateEntry(string name, FileInfo fileInfo, bool openImmediately = false, ArchiveEntrySettings newEntrySettings = null)
Parameter
name
string
Der Name des Eintrags.
fileInfo
FileInfo
Die Metadaten der Datei, die komprimiert werden soll.
openImmediately
bool
Wahr, wenn die Datei sofort geöffnet werden soll, andernfalls wird die Datei beim Speichern des Archivs geöffnet.
newEntrySettings
ArchiveEntrySettings
Komprimierungs- und Verschlüsselungseinstellungen, die für das hinzugefügte Aspose.Zip.ArchiveEntry-Element verwendet werden.
Rückgabewert
Zip-Eintrag-Instanz.
Beispiele
Erstellen Sie ein Archiv mit Einträgen, die mit verschiedenen Verschlüsselungsmethoden und Passwörtern verschlüsselt sind.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
FileInfo fi1 = new FileInfo("data1.bin");
FileInfo fi2 = new FileInfo("data2.bin");
FileInfo fi3 = new FileInfo("data3.bin");
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", fi1, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")));
archive.CreateEntry("entry2.bin", fi2, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass2", EncryptionMethod.AES128)));
archive.CreateEntry("entry3.bin", fi3, false, new ArchiveEntrySettings(new DeflateCompressionSettings(), new AesEcryptionSettings("pass3", EncryptionMethod.AES256)));
archive.Save(zipFile);
}
}
Bemerkungen
Der Eintragsname wird ausschließlich im name
-Parameter festgelegt. Der Dateiname, der im fileInfo
-Parameter angegeben ist, hat keinen Einfluss auf den Eintragsnamen.
Wenn die Datei sofort mit dem openImmediately
-Parameter geöffnet wird, wird sie blockiert, bis das Archiv gespeichert wird.
Ausnahmen
fileInfo
ist schreibgeschützt oder ein Verzeichnis.
Der angegebene Pfad ist ungültig, z. B. weil er sich auf einem nicht zugeordneten Laufwerk befindet.
Die Datei ist bereits geöffnet.
CreateEntry(string, Stream, ArchiveEntrySettings, FileSystemInfo)
Erstellt einen einzelnen Eintrag im Archiv.
public ArchiveEntry CreateEntry(string name, Stream source, ArchiveEntrySettings newEntrySettings, FileSystemInfo fileInfo)
Parameter
name
string
Der Name des Eintrags.
source
Stream
Der Eingabestream für den Eintrag.
newEntrySettings
ArchiveEntrySettings
Komprimierungs- und Verschlüsselungseinstellungen, die für das hinzugefügte Aspose.Zip.ArchiveEntry-Element verwendet werden.
fileInfo
FileSystemInfo
Die Metadaten der Datei oder des Ordners, die komprimiert werden sollen.
Rückgabewert
Zip-Eintrag-Instanz.
Beispiele
Erstellen Sie ein Archiv mit einem verschlüsselten Eintrag.
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", new MemoryStream(new byte[] {0x00, 0xFF} ), new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1")), new FileInfo("data1.bin"));
archive.Save(zipFile);
}
}
Bemerkungen
Der Eintragsname wird ausschließlich im name
-Parameter festgelegt. Der Dateiname, der im fileInfo
-Parameter angegeben ist, hat keinen Einfluss auf den Eintragsnamen.
fileInfo
kann auf System.IO.DirectoryInfo verweisen, wenn der Eintrag ein Verzeichnis ist.
Ausnahmen
Sowohl source
als auch fileInfo
sind null oder source
ist null und fileInfo
steht für ein Verzeichnis.
CreateEntry(string, Func<stream>, ArchiveEntrySettings)
Erstellt einen einzelnen Eintrag im Archiv.
public ArchiveEntry CreateEntry(string name, Func<stream> streamProvider, ArchiveEntrySettings newEntrySettings = null)
Parameter
name
string
Der Name des Eintrags.
streamProvider
Func<Stream>
Die Methode, die den Eingabestream für den Eintrag bereitstellt.
newEntrySettings
ArchiveEntrySettings
Komprimierungs- und Verschlüsselungseinstellungen, die für das hinzugefügte Aspose.Zip.ArchiveEntry-Element verwendet werden.
Rückgabewert
Zip-Eintrag-Instanz.
Beispiele
Erstellen Sie ein Archiv mit einem verschlüsselten Eintrag.
System.Func<Stream> provider = delegate(){ return new MemoryStream(new byte[]{0xFF, 0x00}); };
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry1.bin", provider, new ArchiveEntrySettings(new DeflateCompressionSettings(), new TraditionalEncryptionSettings("pass1"))));
archive.Save(zipFile);
}
}
Bemerkungen
Diese Methode ist für .NET Framework 4.0 und höher sowie für .NET Standard 2.0-Versionen vorgesehen.
DeleteEntry(ArchiveEntry)
Entfernt die erste Vorkommen eines bestimmten Eintrags aus der Eintragsliste.
public Archive DeleteEntry(ArchiveEntry entry)
Parameter
entry
ArchiveEntry
Der Eintrag, der aus der Eintragsliste entfernt werden soll.
Rückgabewert
Das Archiv mit dem gelöschten Eintrag.
Beispiele
Hier ist, wie Sie alle Einträge außer dem letzten entfernen können:
using (var archive = new Archive("archive.zip"))
{
while (archive.Entries.Count > 1)
archive.DeleteEntry(archive.Entries[0]);
archive.Save("last_entry.zip");
}
Ausnahmen
Das Archiv ist verworfen.
DeleteEntry(int)
Entfernt den Eintrag aus der Eintragsliste nach Index.
public Archive DeleteEntry(int entryIndex)
Parameter
entryIndex
int
Der nullbasierte Index des zu entfernenden Eintrags.
Rückgabewert
Das Archiv mit dem gelöschten Eintrag.
Beispiele
using (var archive = new TarArchive("two_files.zip"))
{
archive.DeleteEntry(0);
archive.Save("single_file.zip");
}
Ausnahmen
Das Archiv ist verworfen.
entryIndex
ist kleiner als 0 oder entryIndex
ist gleich oder größer als die Anzahl der Entries
.
Dispose()
Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Zurücksetzen oder Zurücksetzen von nicht verwalteten Ressourcen verbunden sind.
public void Dispose()
Dispose(bool)
Führt anwendungsdefinierte Aufgaben aus, die mit dem Freigeben, Zurücksetzen oder Zurücksetzen von nicht verwalteten Ressourcen verbunden sind.
protected virtual void Dispose(bool disposing)
Parameter
disposing
bool
Ob verwaltete Ressourcen freigegeben werden sollen oder nicht.
ExtractToDirectory(string)
Extrahiert alle Dateien im Archiv in das angegebene Verzeichnis.
public void ExtractToDirectory(string destinationDirectory)
Parameter
destinationDirectory
string
Der Pfad zum Verzeichnis, in das die extrahierten Dateien abgelegt werden sollen.
Beispiele
using (var archive = new Archive("archive.zip"))
{
archive.ExtractToDirectory("C:\extracted");
}
Bemerkungen
Wenn das Verzeichnis nicht existiert, wird es erstellt.
Ausnahmen
destinationDirectory
ist null.
Der angegebene Pfad, Dateiname oder beides überschreiten die systemdefinierte maximale Länge. Zum Beispiel müssen unter Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf das vorhandene Verzeichnis.
Wenn das Verzeichnis nicht existiert, enthält der Pfad ein Doppelpunktzeichen (:) das nicht Teil eines Laufwerkslabels (“C:") ist.
destinationDirectory
ist eine null-längige Zeichenfolge, enthält nur Leerzeichen oder enthält eines oder mehrere ungültige Zeichen. Sie können nach ungültigen Zeichen suchen, indem Sie die Methode System.IO.Path.GetInvalidPathChars verwenden.
-oder- der Pfad ist mit oder enthält nur ein Doppelpunktzeichen (:).
Das Verzeichnis, das durch den Pfad angegeben wird, ist eine Datei. -oder- Der Netzwerkname ist unbekannt.
Ein falsches Passwort wurde angegeben. - oder - Das Archiv ist beschädigt.
Save(Stream, ArchiveSaveOptions)
Speichert das Archiv im bereitgestellten Stream.
public void Save(Stream outputStream, ArchiveSaveOptions saveOptions = null)
Parameter
outputStream
Stream
Zielstream.
saveOptions
ArchiveSaveOptions
Optionen zum Speichern des Archivs.
Beispiele
using (FileStream zipFile = File.Open("archive.zip", FileMode.Create))
{
using (var archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.Save(zipFile);
}
}
Bemerkungen
outputStream
muss beschreibbar sein.
Ausnahmen
outputStream
ist nicht beschreibbar.
Das Archiv ist verworfen.
Save(string, ArchiveSaveOptions)
Speichert das Archiv in der angegebenen Zieldatei.
public void Save(string destinationFileName, ArchiveSaveOptions saveOptions = null)
Parameter
destinationFileName
string
Der Pfad des zu erstellenden Archivs. Wenn der angegebene Dateiname auf eine vorhandene Datei verweist, wird sie überschrieben.
saveOptions
ArchiveSaveOptions
Optionen zum Speichern des Archivs.
Beispiele
using (var archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.Save("archive.zip", new ArchiveSaveOptions() { Encoding = Encoding.ASCII });
}
Bemerkungen
Es ist möglich, ein Archiv im gleichen Pfad zu speichern, von dem es geladen wurde. Dies wird jedoch nicht empfohlen, da dieser Ansatz eine Kopie in einer temporären Datei verwendet.
Ausnahmen
destinationFileName
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff.
Der destinationFileName
ist leer, enthält nur Leerzeichen oder ungültige Zeichen.
Zugriff auf die Datei destinationFileName
wurde verweigert.
Der angegebene destinationFileName
, Dateiname oder beides überschreiten die systemdefinierte maximale Länge.
Zum Beispiel müssen unter Windows-basierten Plattformen Pfade weniger als 248 Zeichen und Dateinamen weniger als 260 Zeichen lang sein.
Die Datei unter destinationFileName
enthält einen Doppelpunkt (:) in der Mitte des Strings.
Die Datei wurde nicht gefunden.
Der angegebene Pfad ist ungültig, z. B. weil er sich auf einem nicht zugeordneten Laufwerk befindet.
Die Datei ist bereits geöffnet.
SaveSplit(string, SplitArchiveSaveOptions)
Speichert ein mehrteiliges Archiv im angegebenen Zielverzeichnis.
public void SaveSplit(string destinationDirectory, SplitArchiveSaveOptions options)
Parameter
destinationDirectory
string
Der Pfad zum Verzeichnis, in dem die Archivsegmente erstellt werden sollen.
options
SplitArchiveSaveOptions
Optionen zum Speichern des Archivs, einschließlich des Dateinamens.
Beispiele
using (Archive archive = new Archive())
{
archive.CreateEntry("entry.bin", "data.bin");
archive.SaveSplit(@"C:\Folder", new SplitArchiveSaveOptions("volume", 65536));
}
Bemerkungen
Diese Methode erstellt mehrere (n
) Dateien mit den Namen filename.z01, filename.z02, ..., filename.z(n-1), filename.zip.
Es kann kein bestehendes Archiv mehrteilig gemacht werden.
Ausnahmen
Dieses Archiv wurde aus einer vorhandenen Quelle geöffnet.
Dieses Archiv ist sowohl mit der XZ-Methode komprimiert als auch verschlüsselt.
destinationDirectory
ist null.
Der Aufrufer hat nicht die erforderliche Berechtigung zum Zugriff auf das Verzeichnis.
destinationDirectory
enthält ungültige Zeichen wie “, >, < oder |.
Der angegebene Pfad überschreitet die systemdefinierte maximale Länge.
Das Archiv ist verworfen.