ZipFile.ExtractToDirectory Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Extrahiert alle Dateien im angegebenen ZIP-Archiv in ein Verzeichnis im Dateisystem.
Überlädt
| Name | Beschreibung |
|---|---|
| ExtractToDirectory(String, String, Encoding, Boolean) |
Extrahiert alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem. |
| ExtractToDirectory(Stream, String, Encoding, Boolean) |
Extrahiert alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem, verwendet die angegebene Zeichencodierung für Eintragsnamen und Kommentare und ermöglicht optional die Auswahl, ob die Dateien im Zielverzeichnis überschrieben werden sollen. |
| ExtractToDirectory(String, String, Encoding) |
Extrahiert alle Dateien im angegebenen ZIP-Archiv in ein Verzeichnis im Dateisystem und verwendet die angegebene Zeichencodierung für Eintragsnamen und Kommentare. |
| ExtractToDirectory(String, String, Boolean) |
Extrahiert alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem. |
| ExtractToDirectory(Stream, String, Boolean) |
Extrahiert alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem und ermöglicht optional die Auswahl, ob die Dateien im Zielverzeichnis überschrieben werden sollen. |
| ExtractToDirectory(String, String) |
Extrahiert alle Dateien im angegebenen ZIP-Archiv in ein Verzeichnis im Dateisystem. |
| ExtractToDirectory(Stream, String) |
Extrahiert alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem. |
| ExtractToDirectory(Stream, String, Encoding) |
Extrahiert alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem und verwendet die angegebene Zeichencodierung für Eintragsnamen und Kommentare. |
ExtractToDirectory(String, String, Encoding, Boolean)
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
Extrahiert alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem.
public:
static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : string * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)
Parameter
- sourceArchiveFileName
- String
Der Pfad im Dateisystem zum Archiv, das extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Zielverzeichnis im Dateisystem.
- entryNameEncoding
- Encoding
Die Codierung, die beim Lesen von Eintragsnamen und Kommentaren in dieser ZipArchiveDatei verwendet werden soll.
- overwriteFiles
- Boolean
true um Dateien zu überschreiben; false Andernfalls.
Ausnahmen
sourceArchiveFileName oder destinationDirectoryName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie durch InvalidPathCharsdefiniert.
- oder -
entryNameEncoding ist auf eine andere Unicode-Codierung als UTF-8 festgelegt.
sourceArchiveFileName oder destinationDirectoryName ist null.
sourceArchiveFileName oder destinationDirectoryName gibt einen Pfad, einen Dateinamen oder beide an, die die vom System definierte maximale Länge überschreiten.
Der durch sourceArchiveFileName oder destinationDirectoryName ist ungültige Pfad (z. B. auf einem nicht zugeordneten Laufwerk).
overwriteFiles ist false und ein Archiveintrag zum Extrahieren hat denselben Namen wie eine Datei, die destinationDirectoryNamebereits vorhanden ist.
- oder -
Ein E/A-Fehler ist aufgetreten.
- oder -
Der Name einer ZipArchiveEntry 0-Länge ist null, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie durch InvalidPathCharsdefiniert.
- oder -
Das Extrahieren eines ZipArchiveEntry Ziels würde zu einem Dateiziel führen, das sich außerhalb des Zielverzeichnisses befindet (z. B. wegen übergeordneter Verzeichniszugriffer).
- oder -
A ZipArchiveEntry hat denselben Namen wie ein bereits extrahierter Eintrag aus demselben Archiv.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
sourceArchiveFileName oder destinationDirectoryName weist ein ungültiges Format auf.
sourceArchiveFileName wurde nicht gefunden.
Das angegebene sourceArchiveFileName Archiv ist ungültig ZipArchive.
- oder -
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
- oder -
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Hinweise
Wenn beim Extrahieren des Archivs ein Fehler auftritt, bleibt das Archiv teilweise extrahiert.
Jeder Eintrag wird extrahiert, sodass die extrahierte Datei den gleichen relativen Pfad zum destinationDirectoryName Archiv hat wie der Eintrag.
Die sourceArchiveFileName Parameter destinationDirectoryName akzeptieren sowohl relative als auch absolute Pfade. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Wenn ein Eintrag im ZIP-Archiv ein symbolischer Link ist, wird er als normaler Ordner extrahiert, da symbolische Verknüpfungsinformationen nicht im ZIP-Format erhalten bleiben.
Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt, und die Extraktion schreibt in den endgültigen Zielordner.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
Warnung
Diese Methode beschränkt nicht die gesamt unkomprimierte Größe oder die Anzahl der aus dem Archiv extrahierten Einträge. Bei der Verarbeitung von Archiven aus nicht vertrauenswürdigen Quellen durchlaufen Sie die Einträge manuell, ZipArchiveund überprüfen Sie, ob die Gesamtgröße der nicht komprimierten Elemente und die Anzahl der Einträge innerhalb akzeptabler Grenzwerte für Ihr Szenario liegen.
Gilt für:
ExtractToDirectory(Stream, String, Encoding, Boolean)
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
Extrahiert alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem, verwendet die angegebene Zeichencodierung für Eintragsnamen und Kommentare und ermöglicht optional die Auswahl, ob die Dateien im Zielverzeichnis überschrieben werden sollen.
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding, bool overwriteFiles);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean)
Parameter
- source
- Stream
Der Datenstrom, aus dem das ZIP-Archiv extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
- entryNameEncoding
- Encoding
Die Codierung, die beim Lesen oder Schreiben von Eintragsnamen und Kommentaren in diesem Archiv verwendet werden soll. Geben Sie einen Wert für diesen Parameter nur an, wenn eine Codierung für die Interoperabilität mit ZIP-Archivtools und -bibliotheken erforderlich ist, die utf-8-Codierung für Eintragsnamen oder Kommentare nicht unterstützen.
- overwriteFiles
- Boolean
true um Dateien zu überschreiben; false Andernfalls.
Ausnahmen
destinationDirectoryName ist Empty, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen.
- oder -
entryNameEncoding ist auf eine andere Unicode-Codierung als UTF-8 festgelegt.
destinationDirectoryName oder source ist null.
Der angegebene Pfad destinationDirectoryName überschreitet die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Der Name eines Eintrags im Archiv ist Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
- oder -
Durch das Extrahieren eines Archiveintrags würde eine Datei erstellt, die sich außerhalb des durch destinationDirectoryName. (Dies kann z. B. passieren, wenn der Eintragsname übergeordnete Verzeichnisaccessoren enthält.)
- oder -
overwriteFiles ist false und ein Archiveintrag zum Extrahieren denselben Namen wie ein Bereits extrahierter Eintrag hat oder in destinationDirectoryNamedem vorhanden ist.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das Archiv oder das Zielverzeichnis.
destinationDirectoryName enthält ein ungültiges Format.
Das im source Datenstrom enthaltene Archiv ist kein gültiges ZIP-Archiv.
- oder -
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
- oder -
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Hinweise
Diese Methode erstellt das angegebene Verzeichnis und alle Unterverzeichnisse. Das Zielverzeichnis kann nicht bereits vorhanden sein. Ausnahmen im Zusammenhang mit der Überprüfung der Pfade in den destinationDirectoryName Dateien im ZIP-Archiv, die in den source Parametern enthalten sind, werden vor der Extraktion ausgelöst. Andernfalls bleibt das Archiv teilweise extrahiert, wenn während der Extraktion ein Fehler auftritt. Jede extrahierte Datei hat denselben relativen Pfad zum Verzeichnis, das durch destinationDirectoryName den Quelleintrag angegeben wird, zum Stammverzeichnis des Archivs.
Wenn ein Eintrag im ZIP-Archiv ein symbolischer Link ist, wird er als normaler Ordner extrahiert, da symbolische Verknüpfungsinformationen nicht im ZIP-Format erhalten bleiben. Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt, und die Extraktion schreibt in den endgültigen Zielordner.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
Warnung
Diese Methode beschränkt nicht die gesamt unkomprimierte Größe oder die Anzahl der aus dem Archiv extrahierten Einträge. Bei der Verarbeitung von Archiven aus nicht vertrauenswürdigen Quellen durchlaufen Sie die Einträge manuell, ZipArchiveund überprüfen Sie, ob die Gesamtgröße der nicht komprimierten Elemente und die Anzahl der Einträge innerhalb akzeptabler Grenzwerte für Ihr Szenario liegen.
Gilt für:
ExtractToDirectory(String, String, Encoding)
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
Extrahiert alle Dateien im angegebenen ZIP-Archiv in ein Verzeichnis im Dateisystem und verwendet die angegebene Zeichencodierung für Eintragsnamen und Kommentare.
public:
static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding entryNameEncoding);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : string * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding)
Parameter
- sourceArchiveFileName
- String
Der Pfad zum Archiv, das extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
- entryNameEncoding
- Encoding
Die Codierung, die beim Lesen oder Schreiben von Eintragsnamen und Kommentaren in diesem Archiv verwendet werden soll. Geben Sie einen Wert für diesen Parameter nur an, wenn eine Codierung für die Interoperabilität mit ZIP-Archivtools und -bibliotheken erforderlich ist, die utf-8-Codierung für Eintragsnamen oder Kommentare nicht unterstützen.
Ausnahmen
destinationDirectoryName oder sourceArchiveFileName ist Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
- oder -
entryNameEncoding ist auf eine andere Unicode-Codierung als UTF-8 festgelegt.
destinationDirectoryName oder sourceArchiveFileName ist null.
Der angegebene Pfad in destinationDirectoryName oder sourceArchiveFileName überschreitet die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Der Name eines Eintrags im Archiv ist Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
- oder -
Durch das Extrahieren eines Archiveintrags würde eine Datei erstellt, die sich außerhalb des durch destinationDirectoryName. (Dies kann z. B. passieren, wenn der Eintragsname übergeordnete Verzeichnisaccessoren enthält.)
- oder -
Ein zu extrahierener Archiveintrag hat denselben Namen wie ein bereits extrahierter Oder vorhandener destinationDirectoryNameEintrag.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das Archiv oder das Zielverzeichnis.
destinationDirectoryName oder sourceArchiveFileName enthält ein ungültiges Format.
sourceArchiveFileName wurde nicht gefunden.
Das angegebene sourceArchiveFileName Archiv ist kein gültiges ZIP-Archiv.
- oder -
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
- oder -
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Hinweise
Diese Methode erstellt bei Bedarf das angegebene Verzeichnis und alle Unterverzeichnisse. Ausnahmen im Zusammenhang mit der Überprüfung der Pfade in den Parametern werden sourceArchiveFileName vor der destinationDirectoryName Extraktion ausgelöst. Andernfalls bleibt das Archiv teilweise extrahiert, wenn während der Extraktion ein Fehler auftritt. Jede extrahierte Datei hat denselben relativen Pfad zum Verzeichnis, das durch destinationDirectoryName den Quelleintrag angegeben wird, zum Stammverzeichnis des Archivs.
Wenn ein Eintrag im ZIP-Archiv ein symbolischer Link ist, wird er als normaler Ordner extrahiert, da symbolische Verknüpfungsinformationen nicht im ZIP-Format erhalten bleiben.
Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt, und die Extraktion schreibt in den endgültigen Zielordner.
Wenn entryNameEncoding dieser Wert auf einen anderen Wert festgelegt ist, nullwerden Eintragsnamen und Kommentare gemäß den folgenden Regeln decodiert:
- Bei Einträgen, bei denen die Sprachcodierungskennzeichnung (im allgemeinen Bit-Flag des lokalen Dateiheaders) nicht festgelegt ist, werden die Eintragsnamen und Kommentare mithilfe der angegebenen Codierung decodiert.
- Bei Einträgen, bei denen die Sprachcodierungskennzeichnung festgelegt ist, werden die Eintragsnamen und Kommentare mithilfe von UTF-8 decodiert.
Ist entryNameEncoding diese Eigenschaft auf null", werden Eintragsnamen und Kommentare gemäß den folgenden Regeln decodiert:
- Bei Einträgen, bei denen die Sprachcodierungskennzeichnung (im allgemeinen Bit-Flag des lokalen Dateiheaders) nicht festgelegt ist, werden Eintragsnamen und Kommentare mithilfe der aktuellen Standardcodeseite des Systems decodiert.
- Bei Einträgen, bei denen die Sprachcodierungskennzeichnung festgelegt ist, werden die Eintragsnamen und Kommentare mithilfe von UTF-8 decodiert.
Warnung
Diese Methode beschränkt nicht die gesamt unkomprimierte Größe oder die Anzahl der aus dem Archiv extrahierten Einträge. Bei der Verarbeitung von Archiven aus nicht vertrauenswürdigen Quellen durchlaufen Sie die Einträge manuell, ZipArchiveund überprüfen Sie, ob die Gesamtgröße der nicht komprimierten Elemente und die Anzahl der Einträge innerhalb akzeptabler Grenzwerte für Ihr Szenario liegen.
Gilt für:
ExtractToDirectory(String, String, Boolean)
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
Extrahiert alle Dateien im angegebenen Archiv in ein Verzeichnis im Dateisystem.
public:
static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : string * string * bool -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean)
Parameter
- sourceArchiveFileName
- String
Der Pfad im Dateisystem zum Archiv, das extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Zielverzeichnis im Dateisystem.
- overwriteFiles
- Boolean
true um Dateien zu überschreiben; false Andernfalls.
Ausnahmen
sourceArchiveFileName oder destinationDirectoryName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie durch InvalidPathCharsdefiniert.
sourceArchiveFileName oder destinationDirectoryName ist null.
sourceArchiveFileName oder destinationDirectoryName gibt einen Pfad, einen Dateinamen oder beide an, die die vom System definierte maximale Länge überschreiten.
Der durch sourceArchiveFileName oder destinationDirectoryName ist ungültige Pfad (z. B. auf einem nicht zugeordneten Laufwerk).
overwriteFiles ist false und destinationDirectoryName enthält bereits eine Datei mit demselben Namen wie eine Datei, die extrahiert wird.
- oder -
Ein E/A-Fehler ist aufgetreten.
- oder -
Der Name einer ZipArchiveEntry 0-Länge ist null, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen, wie durch InvalidPathCharsdefiniert.
- oder -
Das Extrahieren eines ZipArchiveEntry Ziels würde zu einem Dateiziel führen, das sich außerhalb des Zielverzeichnisses befindet (z. B. wegen übergeordneter Verzeichniszugriffer).
- oder -
A ZipArchiveEntry hat denselben Namen wie ein Eintrag aus demselben Archiv, der bereits extrahiert wurde.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
sourceArchiveFileName oder destinationDirectoryName weist ein ungültiges Format auf.
sourceArchiveFileName wurde nicht gefunden.
Das angegebene sourceArchiveFileName Archiv ist ungültig ZipArchive.
- oder -
Ein ZipArchiveEntry Fehler wurde nicht gefunden oder war beschädigt.
- oder -
Ein ZipArchiveEntry Komprimierungsverfahren wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Hinweise
Wenn beim Extrahieren des Archivs ein Fehler auftritt, bleibt das Archiv teilweise extrahiert.
Jeder Eintrag wird extrahiert, sodass die extrahierte Datei den gleichen relativen Pfad zum destinationDirectoryName Archiv hat wie der Eintrag.
Die sourceArchiveFileName Parameter destinationDirectoryName akzeptieren sowohl relative als auch absolute Pfade. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Wenn ein Eintrag im ZIP-Archiv ein symbolischer Link ist, wird er als normaler Ordner extrahiert, da symbolische Verknüpfungsinformationen nicht im ZIP-Format erhalten bleiben.
Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt, und die Extraktion schreibt in den endgültigen Zielordner.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
Warnung
Diese Methode beschränkt nicht die gesamt unkomprimierte Größe oder die Anzahl der aus dem Archiv extrahierten Einträge. Bei der Verarbeitung von Archiven aus nicht vertrauenswürdigen Quellen durchlaufen Sie die Einträge manuell, ZipArchiveund überprüfen Sie, ob die Gesamtgröße der nicht komprimierten Elemente und die Anzahl der Einträge innerhalb akzeptabler Grenzwerte für Ihr Szenario liegen.
Gilt für:
ExtractToDirectory(Stream, String, Boolean)
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
Extrahiert alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem und ermöglicht optional die Auswahl, ob die Dateien im Zielverzeichnis überschrieben werden sollen.
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean)
Parameter
- source
- Stream
Der Datenstrom, aus dem das ZIP-Archiv extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
- overwriteFiles
- Boolean
true um Dateien zu überschreiben; false Andernfalls.
Ausnahmen
destinationDirectoryName ist Empty, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen.
destinationDirectoryName oder source ist null.
Der angegebene Pfad destinationDirectoryName überschreitet die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Der Name eines Eintrags im Archiv ist Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
- oder -
Durch das Extrahieren eines Archiveintrags würde eine Datei erstellt, die sich außerhalb des durch destinationDirectoryName. (Dies kann z. B. passieren, wenn der Eintragsname übergeordnete Verzeichnisaccessoren enthält.)
- oder -
overwriteFiles ist false und ein Archiveintrag zum Extrahieren denselben Namen wie ein Bereits extrahierter Eintrag hat oder in destinationDirectoryNamedem vorhanden ist.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das Archiv oder das Zielverzeichnis.
destinationDirectoryName enthält ein ungültiges Format.
Das im source Datenstrom enthaltene Archiv ist kein gültiges ZIP-Archiv.
- oder -
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
- oder -
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Hinweise
Diese Methode erstellt das angegebene Verzeichnis und alle Unterverzeichnisse. Das Zielverzeichnis kann nicht bereits vorhanden sein. Ausnahmen im Zusammenhang mit der Überprüfung der Pfade in den destinationDirectoryName Dateien im ZIP-Archiv, die in den source Parametern enthalten sind, werden vor der Extraktion ausgelöst. Andernfalls bleibt das Archiv teilweise extrahiert, wenn während der Extraktion ein Fehler auftritt. Jede extrahierte Datei hat denselben relativen Pfad zum Verzeichnis, das durch destinationDirectoryName den Quelleintrag angegeben wird, zum Stammverzeichnis des Archivs.
Wenn ein Eintrag im ZIP-Archiv ein symbolischer Link ist, wird er als normaler Ordner extrahiert, da symbolische Verknüpfungsinformationen nicht im ZIP-Format erhalten bleiben. Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt, und die Extraktion schreibt in den endgültigen Zielordner.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
Warnung
Diese Methode beschränkt nicht die gesamt unkomprimierte Größe oder die Anzahl der aus dem Archiv extrahierten Einträge. Bei der Verarbeitung von Archiven aus nicht vertrauenswürdigen Quellen durchlaufen Sie die Einträge manuell, ZipArchiveund überprüfen Sie, ob die Gesamtgröße der nicht komprimierten Elemente und die Anzahl der Einträge innerhalb akzeptabler Grenzwerte für Ihr Szenario liegen.
Gilt für:
ExtractToDirectory(String, String)
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
Extrahiert alle Dateien im angegebenen ZIP-Archiv in ein Verzeichnis im Dateisystem.
public:
static void ExtractToDirectory(System::String ^ sourceArchiveFileName, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory(string sourceArchiveFileName, string destinationDirectoryName);
static member ExtractToDirectory : string * string -> unit
Public Shared Sub ExtractToDirectory (sourceArchiveFileName As String, destinationDirectoryName As String)
Parameter
- sourceArchiveFileName
- String
Der Pfad zum Archiv, das extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Ausnahmen
destinationDirectoryName oder sourceArchiveFileName ist Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
destinationDirectoryName oder sourceArchiveFileName ist null.
Der angegebene Pfad in destinationDirectoryName oder sourceArchiveFileName überschreitet die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Der Name eines Eintrags im Archiv ist Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
- oder -
Durch das Extrahieren eines Archiveintrags würde eine Datei erstellt, die sich außerhalb des durch destinationDirectoryName. (Dies kann z. B. passieren, wenn der Eintragsname übergeordnete Verzeichnisaccessoren enthält.)
- oder -
Ein zu extrahierener Archiveintrag hat denselben Namen wie ein bereits extrahierter Oder vorhandener destinationDirectoryNameEintrag.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das Archiv oder das Zielverzeichnis.
destinationDirectoryName oder sourceArchiveFileName enthält ein ungültiges Format.
sourceArchiveFileName wurde nicht gefunden.
Das angegebene sourceArchiveFileName Archiv ist kein gültiges ZIP-Archiv.
- oder -
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
- oder -
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Beispiele
In diesem Beispiel wird gezeigt, wie Sie mithilfe der ZipFile Klasse ein ZIP-Archiv erstellen und extrahieren. Er komprimiert den Inhalt eines Ordners in ein ZIP-Archiv und extrahiert diesen Inhalt in einen neuen Ordner. Um die ZipFile Klasse zu verwenden, müssen Sie auf die System.IO.Compression.FileSystem Assembly in Ihrem Projekt verweisen.
using System;
using System.IO.Compression;
class Program
{
static void Main(string[] args)
{
string startPath = @".\start";
string zipPath = @".\result.zip";
string extractPath = @".\extract";
ZipFile.CreateFromDirectory(startPath, zipPath);
ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
open System.IO.Compression
let startPath = @".\start"
let zipPath = @".\result.zip"
let extractPath = @".\extract"
ZipFile.CreateFromDirectory(startPath, zipPath)
ZipFile.ExtractToDirectory(zipPath, extractPath)
Imports System.IO.Compression
Module Module1
Sub Main()
Dim startPath As String = ".\start"
Dim zipPath As String = ".\result.zip"
Dim extractPath As String = ".\extract"
ZipFile.CreateFromDirectory(startPath, zipPath)
ZipFile.ExtractToDirectory(zipPath, extractPath)
End Sub
End Module
Hinweise
Diese Methode erstellt das angegebene Verzeichnis und alle Unterverzeichnisse. Das Zielverzeichnis kann nicht bereits vorhanden sein. Ausnahmen im Zusammenhang mit der Überprüfung der Pfade in den Parametern werden sourceArchiveFileName vor der destinationDirectoryName Extraktion ausgelöst. Andernfalls bleibt das Archiv teilweise extrahiert, wenn während der Extraktion ein Fehler auftritt. Jede extrahierte Datei hat denselben relativen Pfad zum Verzeichnis, das durch destinationDirectoryName den Quelleintrag angegeben wird, zum Stammverzeichnis des Archivs.
Wenn ein Eintrag im ZIP-Archiv ein symbolischer Link ist, wird er als normaler Ordner extrahiert, da symbolische Verknüpfungsinformationen nicht im ZIP-Format erhalten bleiben.
Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt, und die Extraktion schreibt in den endgültigen Zielordner.
Warnung
Diese Methode beschränkt nicht die gesamt unkomprimierte Größe oder die Anzahl der aus dem Archiv extrahierten Einträge. Bei der Verarbeitung von Archiven aus nicht vertrauenswürdigen Quellen durchlaufen Sie die Einträge manuell, ZipArchiveund überprüfen Sie, ob die Gesamtgröße der nicht komprimierten Elemente und die Anzahl der Einträge innerhalb akzeptabler Grenzwerte für Ihr Szenario liegen.
Gilt für:
ExtractToDirectory(Stream, String)
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
Extrahiert alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem.
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Stream * string -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String)
Parameter
- source
- Stream
Der Datenstrom, aus dem das ZIP-Archiv extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
Ausnahmen
destinationDirectoryName ist Empty, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen.
destinationDirectoryName oder source ist null.
Der angegebene Pfad destinationDirectoryName überschreitet die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Der Name eines Eintrags im Archiv ist Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
- oder -
Durch das Extrahieren eines Archiveintrags würde eine Datei erstellt, die sich außerhalb des durch destinationDirectoryName. (Dies kann z. B. passieren, wenn der Eintragsname übergeordnete Verzeichnisaccessoren enthält.)
- oder -
Ein zu extrahierener Archiveintrag hat denselben Namen wie ein bereits extrahierter Oder vorhandener destinationDirectoryNameEintrag.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das Archiv oder das Zielverzeichnis.
destinationDirectoryName enthält ein ungültiges Format.
Das im source Datenstrom enthaltene Archiv ist kein gültiges ZIP-Archiv.
- oder -
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
- oder -
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Hinweise
Diese Methode erstellt das angegebene Verzeichnis und alle Unterverzeichnisse. Das Zielverzeichnis kann nicht bereits vorhanden sein. Ausnahmen im Zusammenhang mit der Überprüfung der Pfade in den destinationDirectoryName Dateien im ZIP-Archiv, die in den source Parametern enthalten sind, werden vor der Extraktion ausgelöst. Andernfalls bleibt das Archiv teilweise extrahiert, wenn während der Extraktion ein Fehler auftritt. Jede extrahierte Datei hat denselben relativen Pfad zum Verzeichnis, das durch destinationDirectoryName den Quelleintrag angegeben wird, zum Stammverzeichnis des Archivs.
Wenn ein Eintrag im ZIP-Archiv ein symbolischer Link ist, wird er als normaler Ordner extrahiert, da symbolische Verknüpfungsinformationen nicht im ZIP-Format erhalten bleiben. Wenn destinationDirectoryName es sich bei einem der übergeordneten Verzeichnisse um eine bereits vorhandene Verbindung oder eine symbolische Verknüpfung handelt, wird der Link befolgt, und die Extraktion schreibt in den endgültigen Zielordner.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
Warnung
Diese Methode beschränkt nicht die gesamt unkomprimierte Größe oder die Anzahl der aus dem Archiv extrahierten Einträge. Bei der Verarbeitung von Archiven aus nicht vertrauenswürdigen Quellen durchlaufen Sie die Einträge manuell, ZipArchiveund überprüfen Sie, ob die Gesamtgröße der nicht komprimierten Elemente und die Anzahl der Einträge innerhalb akzeptabler Grenzwerte für Ihr Szenario liegen.
Gilt für:
ExtractToDirectory(Stream, String, Encoding)
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
- Quelle:
- ZipFile.Extract.cs
Extrahiert alle Dateien aus dem zip-Archiv, das im angegebenen Datenstrom gespeichert ist, und platziert sie im angegebenen Zielverzeichnis im Dateisystem und verwendet die angegebene Zeichencodierung für Eintragsnamen und Kommentare.
public:
static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Text::Encoding ^ entryNameEncoding);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding);
static member ExtractToDirectory : System.IO.Stream * string * System.Text.Encoding -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding)
Parameter
- source
- Stream
Der Datenstrom, aus dem das ZIP-Archiv extrahiert werden soll.
- destinationDirectoryName
- String
Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen, angegeben als relativer oder absoluter Pfad. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.
- entryNameEncoding
- Encoding
Die Codierung, die beim Lesen oder Schreiben von Eintragsnamen und Kommentaren in diesem Archiv verwendet werden soll. Geben Sie einen Wert für diesen Parameter nur an, wenn eine Codierung für die Interoperabilität mit ZIP-Archivtools und -bibliotheken erforderlich ist, die utf-8-Codierung für Eintragsnamen oder Kommentare nicht unterstützen.
Ausnahmen
destinationDirectoryName ist Empty, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen.
- oder -
entryNameEncoding ist auf eine andere Unicode-Codierung als UTF-8 festgelegt.
destinationDirectoryName oder source ist null.
Der angegebene Pfad destinationDirectoryName überschreitet die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Der Name eines Eintrags im Archiv ist Empty, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen.
- oder -
Durch das Extrahieren eines Archiveintrags würde eine Datei erstellt, die sich außerhalb des durch destinationDirectoryName. (Dies kann z. B. passieren, wenn der Eintragsname übergeordnete Verzeichnisaccessoren enthält.)
- oder -
Ein zu extrahierener Archiveintrag hat denselben Namen wie ein bereits extrahierter Oder vorhandener destinationDirectoryNameEintrag.
Der Aufrufer verfügt nicht über die erforderliche Berechtigung für den Zugriff auf das Archiv oder das Zielverzeichnis.
destinationDirectoryName enthält ein ungültiges Format.
Das im source Datenstrom enthaltene Archiv ist kein gültiges ZIP-Archiv.
- oder -
Ein Archiveintrag wurde nicht gefunden oder beschädigt.
- oder -
Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.
Hinweise
Diese Methode erstellt das angegebene Verzeichnis und alle Unterverzeichnisse. Das Zielverzeichnis kann nicht bereits vorhanden sein. Ausnahmen im Zusammenhang mit der Überprüfung der Pfade in den destinationDirectoryName Dateien im ZIP-Archiv, die in den source Parametern enthalten sind, werden vor der Extraktion ausgelöst. Andernfalls bleibt das Archiv teilweise extrahiert, wenn während der Extraktion ein Fehler auftritt. Jede extrahierte Datei hat denselben relativen Pfad zum Verzeichnis, das durch destinationDirectoryName den Quelleintrag angegeben wird, zum Stammverzeichnis des Archivs.
Wenn eine zu archivierende Datei eine ungültige Uhrzeit der letzten Änderung aufweist, wird das erste Datum und die erste Uhrzeit im ZIP-Zeitstempelformat (Mitternacht am 1. Januar 1980) verwendet.
Warnung
Diese Methode beschränkt nicht die gesamt unkomprimierte Größe oder die Anzahl der aus dem Archiv extrahierten Einträge. Bei der Verarbeitung von Archiven aus nicht vertrauenswürdigen Quellen durchlaufen Sie die Einträge manuell, ZipArchiveund überprüfen Sie, ob die Gesamtgröße der nicht komprimierten Elemente und die Anzahl der Einträge innerhalb akzeptabler Grenzwerte für Ihr Szenario liegen.