Partager via


ZipFileExtensions.ExtractToDirectory Méthode

Définition

Surcharges

ExtractToDirectory(ZipArchive, String)

Extrait tous les fichiers de l’archive zip vers un répertoire dans le système de fichiers.

ExtractToDirectory(ZipArchive, String, Boolean)

Extrait tous les fichiers de l’archive dans un répertoire du système de fichiers.

ExtractToDirectory(ZipArchive, String)

Source:
ZipFileExtensions.ZipArchive.Extract.cs
Source:
ZipFileExtensions.ZipArchive.Extract.cs
Source:
ZipFileExtensions.ZipArchive.Extract.cs

Extrait tous les fichiers de l’archive zip vers un répertoire dans le système de fichiers.

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)

Paramètres

source
ZipArchive

Archive zip à partir de laquelle extraire les fichiers.

destinationDirectoryName
String

Chemin du répertoire dans lequel placer les fichiers extraits. Vous pouvez spécifier un chemin absolu ou relatif. Un chemin d’accès relatif est interprété comme étant relatif au répertoire de travail actif.

Exceptions

destinationDirectoryName est Empty, ne contient que des espaces blancs ou contient au moins un caractère non valide.

destinationDirectoryName a la valeur null.

Le chemin spécifié dépasse la longueur maximale définie par le système.

Le chemin spécifié n’est pas valide (par exemple, il est sur un lecteur non mappé).

Le nom d'une entrée dans l'archive est Empty, il contient uniquement des espaces blancs ou il contient au moins un caractère non valide.

- ou -

L’extraction d’une entrée de l’archive créerait un fichier en dehors du répertoire spécifié par destinationDirectoryName. (Par exemple, cela peut se produire si le nom d'entrée contient des accesseurs de répertoire parent.)

- ou -

Plusieurs entrées de l’archive ont le même nom.

L’appelant n’a pas l’autorisation nécessaire pour écrire dans le répertoire de destination.

destinationDirectoryName contient un format non valide.

Une entrée de l’archive est introuvable ou endommagée.

- ou -

Une entrée d’archive a été compressée à l’aide d’une méthode de compression qui n’est pas prise en charge.

Exemples

L’exemple suivant montre comment créer une entrée dans une archive zip à partir d’un fichier existant et extraire l’archive dans un nouveau répertoire.

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

Remarques

Cette méthode crée le répertoire spécifié par destinationDirectoryName. La méthode crée également des sous-répertoires qui reflètent la hiérarchie dans l’archive zip. Si une erreur se produit pendant l’extraction, l’archive reste partiellement extraite. Chaque fichier extrait a le même chemin relatif au répertoire spécifié par destinationDirectoryName que son entrée source à la racine de l’archive.

S’applique à

ExtractToDirectory(ZipArchive, String, Boolean)

Source:
ZipFileExtensions.ZipArchive.Extract.cs
Source:
ZipFileExtensions.ZipArchive.Extract.cs
Source:
ZipFileExtensions.ZipArchive.Extract.cs

Extrait tous les fichiers de l’archive dans un répertoire du système de fichiers.

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)

Paramètres

source
ZipArchive

ZipArchive à extraire.

destinationDirectoryName
String

Chemin du répertoire de destination dans le système de fichiers. Le chemin peut être relatif ou absolu. Un chemin d’accès relatif est interprété comme étant relatif au répertoire de travail actif.

overwriteFiles
Boolean

true pour remplacer les fichiers existants ; false Sinon.

Exceptions

destinationArchiveFileName est une chaîne de longueur nulle, contient seulement un espace blanc ou contient un ou plusieurs caractères non valides tels que définis par InvalidPathChars.

destinationArchiveFileName a la valeur null.

Le chemin et/ou le nom de fichier spécifiés dépassent la longueur maximale définie par le système.

Le chemin spécifié n’est pas valide (par exemple, il est sur un lecteur non mappé).

Le nom d’un ZipArchiveEntry a une longueur nulle, contient seulement un espace blanc ou contient un ou plusieurs caractères non valides tels que définis par InvalidPathChars.

- ou -

L’extraction d’un ZipArchiveEntry aurait eu pour résultat un fichier de destination situé à l’extérieur de destinationArchiveFileName (par exemple, si le nom de l’entrée contient des accesseurs de répertoire parent).

- ou -

Un ZipArchiveEntry a le même nom qu’une entrée déjà extraite de la même archive.

L'appelant n'a pas l'autorisation requise.

destinationArchiveFileName est dans un format non valide.

Un ZipArchiveEntry n’a pas été trouvé ou était endommagé.

- ou -

Un ZipArchiveEntry a été compressé à l’aide d’une méthode de compression qui n’est pas prise en charge.

Remarques

Le répertoire spécifié existe peut-être déjà. Cette méthode crée le répertoire spécifié et tous les sous-répertoires si nécessaire.

En cas d’erreur lors de l’extraction de l’archive, l’archive reste partiellement extraite.

Chaque entrée est extraite de telle sorte que le fichier extrait ait le même chemin relatif que celui de destinationDirectoryName l’entrée à la racine de l’archive.

Si un fichier à archiver a une heure de dernière modification non valide, la première date et l’heure pouvant être représentées au format d’horodatage Zip (minuit le 1er janvier 1980) est utilisée.

S’applique à