Sprache

ZipFileExtensions.ExtractToDirectory Methode

Definition

Extrahiert alle Dateien im Archiv in ein Verzeichnis im Dateisystem.

Überlädt

Name Beschreibung
ExtractToDirectory(ZipArchive, String, ZipExtractionOptions)
ExtractToDirectory(ZipArchive, String, Boolean)

Extrahiert alle Dateien im Archiv in ein Verzeichnis im Dateisystem.

ExtractToDirectory(ZipArchive, String)

Extrahiert alle Dateien im ZIP-Archiv in ein Verzeichnis im Dateisystem.

ExtractToDirectory(ZipArchive, String, ZipExtractionOptions)

Quelle:
ZipFileExtensions.ZipArchive.Extract.cs
public:
[System::Runtime::CompilerServices::Extension]
 static void ExtractToDirectory(System::IO::Compression::ZipArchive ^ source, System::String ^ destinationDirectoryName, System::IO::Compression::ZipExtractionOptions ^ options);
public static void ExtractToDirectory(this System.IO.Compression.ZipArchive source, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options);
static member ExtractToDirectory : System.IO.Compression.ZipArchive * string * System.IO.Compression.ZipExtractionOptions -> unit
<Extension()>
Public Sub ExtractToDirectory (source As ZipArchive, destinationDirectoryName As String, options As ZipExtractionOptions)

Parameter

source
ZipArchive
destinationDirectoryName
String

Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.

Hinweise

Warnung

Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.

Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.

Jede extrahierte Datei hat denselben relativen Pfad destinationDirectoryName wie der Quelleintrag zum Stammverzeichnis des Archivs.

Der destinationDirectoryName Parameter akzeptiert relative und absolute Pfade. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.

Wenn während der Extraktion ein Fehler auftritt, bleibt das Archiv teilweise extrahiert.

Legen Sie fest OverwriteFiles , true dass vorhandene Dateien überschrieben werden sollen. Der Standardwert ist false, wodurch die Extraktion ausgelöst IOException wird, wenn bereits eine Datei extrahiert wird.

Wird verwendet Password , um das Kennwort für verschlüsselte Einträge anzugeben.

EntryNameEncoding wird von dieser Überladung nicht verwendet. Eintragsnamen und Kommentare werden mit der beim Öffnen des source Archivs angegebenen Codierung decodiert.

Symbolische Verknüpfungen im Archiv werden nicht als symbolische Verknüpfungen neu erstellt. 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 extrahiert in den endgültigen Zielordner geschrieben.

Gilt für:

ExtractToDirectory(ZipArchive, String, Boolean)

Quelle:
ZipFileExtensions.ZipArchive.Extract.cs
Quelle:
ZipFileExtensions.ZipArchive.Extract.cs
Quelle:
ZipFileExtensions.ZipArchive.Extract.cs
Quelle:
ZipFileExtensions.ZipArchive.Extract.cs
Quelle:
ZipFileExtensions.ZipArchive.Extract.cs

Extrahiert alle Dateien im Archiv in ein Verzeichnis im Dateisystem.

public:
[System::Runtime::CompilerServices::Extension]
 static void ExtractToDirectory(System::IO::Compression::ZipArchive ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(this System.IO.Compression.ZipArchive source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Compression.ZipArchive * string * bool -> unit
<Extension()>
Public Sub ExtractToDirectory (source As ZipArchive, destinationDirectoryName As String, overwriteFiles As Boolean)

Parameter

source
ZipArchive

Der ZipArchive zu extrahierende Ausschnitt.

destinationDirectoryName
String

Der Pfad zum Zielverzeichnis im Dateisystem. Der Pfad kann relativ oder absolut sein. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.

overwriteFiles
Boolean

true vorhandene Dateien zu überschreiben; false Andernfalls.

Ausnahmen

destinationDirectoryName ist eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält ein oder mehrere ungültige Zeichen, wie durch InvalidPathCharsdefiniert.

destinationDirectoryName ist null.

Der angegebene Pfad, der Dateiname oder beide überschreiten die vom System definierte maximale Länge.

Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).

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 einer ZipArchiveEntry Datei würde zu einer Zieldatei führen, die sich außerhalb destinationDirectoryName befindet (z. B. wenn der Eintragsname übergeordnete Verzeichniszugriffer enthält).

-oder-

A ZipArchiveEntry hat denselben Namen wie ein bereits extrahierter Eintrag aus demselben Archiv.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung.

destinationDirectoryName ist in einem ungültigen Format vorhanden.

Ein ZipArchiveEntry Fehler wurde nicht gefunden oder war beschädigt.

-oder-

Ein ZipArchiveEntry Komprimierungsverfahren wurde mit einer nicht unterstützten Komprimierungsmethode komprimiert.

Hinweise

Warnung

Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.

Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.

Wenn beim Extrahieren des Archivs ein Fehler auftritt, bleibt das Archiv teilweise extrahiert.

Jeder Eintrag wird extrahiert, sodass die extrahierte Datei denselben relativen Pfad destinationDirectoryName wie der Eintrag zum Stammverzeichnis des Archivs hat.

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.

Gilt für:

ExtractToDirectory(ZipArchive, String)

Quelle:
ZipFileExtensions.ZipArchive.Extract.cs
Quelle:
ZipFileExtensions.ZipArchive.Extract.cs
Quelle:
ZipFileExtensions.ZipArchive.Extract.cs
Quelle:
ZipFileExtensions.ZipArchive.Extract.cs
Quelle:
ZipFileExtensions.ZipArchive.Extract.cs

Extrahiert alle Dateien im ZIP-Archiv in ein Verzeichnis im Dateisystem.

public:
[System::Runtime::CompilerServices::Extension]
 static void ExtractToDirectory(System::IO::Compression::ZipArchive ^ source, System::String ^ destinationDirectoryName);
public static void ExtractToDirectory(this System.IO.Compression.ZipArchive source, string destinationDirectoryName);
static member ExtractToDirectory : System.IO.Compression.ZipArchive * string -> unit
<Extension()>
Public Sub ExtractToDirectory (source As ZipArchive, destinationDirectoryName As String)

Parameter

source
ZipArchive

Das ZIP-Archiv zum Extrahieren von Dateien aus.

destinationDirectoryName
String

Der Pfad zum Verzeichnis, in dem die extrahierten Dateien platziert werden sollen. Sie können entweder einen relativen oder einen absoluten Pfad angeben. Ein relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert. Das Verzeichnis kann bereits vorhanden sein. Fehlende Verzeichnisse werden beim Extrahieren von Einträgen nach Bedarf erstellt.

Ausnahmen

destinationDirectoryName ist Empty, enthält nur Leerzeichen oder mindestens ein ungültiges Zeichen.

destinationDirectoryName ist null.

Der angegebene Pfad ü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 Eintrags aus dem Archiv 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-

Zwei oder mehr Einträge im Archiv haben denselben Namen.

Der Aufrufer verfügt nicht über die erforderliche Berechtigung zum Schreiben in das Zielverzeichnis.

destinationDirectoryName enthält ein ungültiges Format.

Ein Archiveintrag kann nicht gefunden werden oder ist beschädigt.

-oder-

Ein Archiveintrag wurde mithilfe einer nicht unterstützten Komprimierungsmethode komprimiert.

Beispiele

Das folgende Beispiel zeigt, wie Sie einen neuen Eintrag in einem ZIP-Archiv aus einer vorhandenen Datei erstellen und das Archiv in ein neues Verzeichnis extrahieren.

using System;
using System.IO;
using System.IO.Compression;

namespace ConsoleApplication
{
    class Program
    {
        static void Main(string[] args)
        {
            string zipPath = @"c:\users\exampleuser\start.zip";
            string extractPath = @"c:\users\exampleuser\extract";
            string newFile = @"c:\users\exampleuser\NewFile.txt";

            using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Update))
            {
                archive.CreateEntryFromFile(newFile, "NewEntry.txt");
                archive.ExtractToDirectory(extractPath);
            }
        }
    }
}
Imports System.IO
Imports System.IO.Compression

Module Module1

    Sub Main()
        Dim zipPath As String = "c:\users\exampleuser\end.zip"
        Dim extractPath As String = "c:\users\exampleuser\extract"
        Dim newFile As String = "c:\users\exampleuser\NewFile.txt"

        Using archive As ZipArchive = ZipFile.Open(zipPath, ZipArchiveMode.Update)
            archive.CreateEntryFromFile(newFile, "NewEntry.txt", CompressionLevel.Fastest)
            archive.ExtractToDirectory(extractPath)
        End Using
    End Sub

End Module

Hinweise

Warnung

Diese Methode darf nicht zum Extrahieren nicht vertrauenswürdiger Archive verwendet werden. Es erzwingt keine Größenbeschränkungen, Grenzwerte für die Eintragsanzahl oder andere Richtlinien, die für die sichere Extraktion nicht vertrauenswürdiger Archive erforderlich sind. Weitere Informationen zum sicheren Extrahieren von Archiven aus nicht vertrauenswürdigen Quellen finden Sie unter Bewährte Methoden für die Verwendung von ZIP- und Tar-Archiven.

Das von destinationDirectoryName ihnen angegebene Verzeichnis kann bereits vorhanden sein. Diese Methode erstellt das Zielverzeichnis, die fehlenden übergeordneten Verzeichnisse und Unterverzeichnisse bei Bedarf beim Extrahieren von Einträgen. Wenn das Archiv leer ist, erstellt diese Methode nicht das Zielverzeichnis.

Wenn während der Extraktion ein Fehler auftritt, bleibt das Archiv teilweise extrahiert. Jede extrahierte Datei hat denselben relativen Pfad zum Verzeichnis, das durch destinationDirectoryName den Quelleintrag angegeben wird, zum Stammverzeichnis des Archivs.

Gilt für: