ZipFileExtensions.ExtractToDirectory Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Extrait tous les fichiers de l’archive dans un répertoire sur le système de fichiers.
Surcharges
| Nom | Description |
|---|---|
| ExtractToDirectory(ZipArchive, String, ZipExtractionOptions) | |
| ExtractToDirectory(ZipArchive, String, Boolean) |
Extrait tous les fichiers de l’archive dans un répertoire sur le système de fichiers. |
| ExtractToDirectory(ZipArchive, String) |
Extrait tous les fichiers de l’archive zip dans un répertoire du système de fichiers. |
ExtractToDirectory(ZipArchive, String, ZipExtractionOptions)
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)
Paramètres
- source
- ZipArchive
- destinationDirectoryName
- String
Chemin d’accès au répertoire dans lequel placer les fichiers extraits. Le répertoire peut déjà exister. Les répertoires manquants sont créés en fonction des besoins lors de l’extraction d’entrées.
- options
- ZipExtractionOptions
Remarques
Warning
Cette méthode ne doit pas être utilisée pour extraire des archives non approuvées. Elle n’applique aucune limite de taille, limite de nombre d’entrées ou autres stratégies nécessaires à l’extraction sécurisée d’archives non approuvées. Pour plus d’informations sur l’extraction sécurisée d’archives provenant de sources non approuvées, consultez les meilleures pratiques pour l’utilisation des archives zip et tar.
Le répertoire spécifié par destinationDirectoryName peut déjà exister. Cette méthode crée le répertoire de destination, ses répertoires parents manquants et ses sous-répertoires si nécessaire lors de l’extraction d’entrées. Si l’archive est vide, cette méthode ne crée pas le répertoire de destination.
Chaque fichier extrait a le même chemin relatif que destinationDirectoryName son entrée source à la racine de l’archive.
Le destinationDirectoryName paramètre accepte les chemins relatifs et absolus. Un chemin relatif est interprété comme relatif au répertoire de travail actuel.
Si une erreur se produit lors de l’extraction, l’archive reste partiellement extraite.
Définissez cette option OverwriteFiles pour true remplacer les fichiers existants. La valeur par défaut est false, ce qui entraîne l’extraction d’un IOException fichier à extraire déjà.
Permet Password de fournir le mot de passe pour les entrées chiffrées.
EntryNameEncoding n’est pas utilisé par cette surcharge. Les noms et commentaires d’entrée sont décodés à l’aide de l’encodage spécifié lors de l’ouverture de l’archive source .
Les liens symboliques dans l’archive ne sont pas recréés en tant que liens symboliques. Si destinationDirectoryName ou l’un de ses répertoires parents est une jonction ou un lien symbolique préexistant, le lien est suivi et les écritures d’extraction dans le dossier cible final.
S’applique à
ExtractToDirectory(ZipArchive, String, Boolean)
Extrait tous les fichiers de l’archive dans un répertoire sur le 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 d’accès au répertoire de destination sur le système de fichiers. Le chemin peut être relatif ou absolu. Un chemin relatif est interprété comme relatif au répertoire de travail actuel. Le répertoire peut déjà exister. Les répertoires manquants sont créés en fonction des besoins lors de l’extraction d’entrées.
- overwriteFiles
- Boolean
true pour remplacer les fichiers existants ; false Sinon.
Exceptions
destinationDirectoryName est une chaîne de longueur nulle, contient uniquement des espaces blancs, ou contient un ou plusieurs caractères non valides tels que définis par InvalidPathChars.
destinationDirectoryName a la valeur null.
Le chemin d’accès spécifié, le nom de fichier ou les deux dépassent la longueur maximale définie par le système.
Le chemin spécifié n’est pas valide (par exemple, il se trouve sur un lecteur non mappé).
Le nom d’une ZipArchiveEntry longueur nulle contient uniquement des espaces blancs, ou contient un ou plusieurs caractères non valides tels que définis par InvalidPathChars.
- ou -
L’extraction d’un ZipArchiveEntry fichier de destination aurait entraîné l’extérieur d’un fichier destinationDirectoryName de destination (par exemple, si le nom d’entrée contient des accesseurs de répertoire parent).
- ou -
A 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.
destinationDirectoryName est dans un format non valide.
Un a ZipArchiveEntry été introuvable ou endommagé.
- ou -
Un ZipArchiveEntry a été compressé à l’aide d’une méthode de compression qui n’est pas prise en charge.
Remarques
Warning
Cette méthode ne doit pas être utilisée pour extraire des archives non approuvées. Elle n’applique aucune limite de taille, limite de nombre d’entrées ou autres stratégies nécessaires à l’extraction sécurisée d’archives non approuvées. Pour plus d’informations sur l’extraction sécurisée d’archives provenant de sources non approuvées, consultez les meilleures pratiques pour l’utilisation des archives zip et tar.
Le répertoire spécifié par destinationDirectoryName peut déjà exister. Cette méthode crée le répertoire de destination, ses répertoires parents manquants et ses sous-répertoires si nécessaire lors de l’extraction d’entrées. Si l’archive est vide, cette méthode ne crée pas le répertoire de destination.
En cas d’erreur lors de l’extraction de l’archive, l’archive reste partiellement extraite.
Chaque entrée est extraite de sorte que le fichier extrait ait le même chemin relatif que 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 représentées au format d’horodatage Zip (minuit le 1er janvier 1980) sont utilisées.
S’applique à
ExtractToDirectory(ZipArchive, String)
Extrait tous les fichiers de l’archive zip 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);
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 des fichiers.
- destinationDirectoryName
- String
Chemin d’accès au répertoire dans lequel placer les fichiers extraits. Vous pouvez spécifier un chemin relatif ou absolu. Un chemin relatif est interprété comme relatif au répertoire de travail actuel. Le répertoire peut déjà exister. Les répertoires manquants sont créés en fonction des besoins lors de l’extraction d’entrées.
Exceptions
destinationDirectoryName est Empty, contient uniquement un espace blanc 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 se trouve sur un lecteur non mappé).
Le nom d’une entrée dans l’archive est Empty, contient uniquement un espace blanc ou contient au moins un caractère non valide.
- ou -
L’extraction d’une entrée à partir de l’archive créerait un fichier qui se trouve en dehors du répertoire spécifié par destinationDirectoryName. (Par exemple, cela peut se produire si le nom d’entrée contient des accesseurs d’annuaire parents.)
- ou -
Deux entrées ou plus dans l’archive portent le même nom.
L’appelant n’a pas l’autorisation requise pour écrire dans le répertoire de destination.
destinationDirectoryName contient un format non valide.
Une entrée d’archivage 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
Warning
Cette méthode ne doit pas être utilisée pour extraire des archives non approuvées. Elle n’applique aucune limite de taille, limite de nombre d’entrées ou autres stratégies nécessaires à l’extraction sécurisée d’archives non approuvées. Pour plus d’informations sur l’extraction sécurisée d’archives provenant de sources non approuvées, consultez les meilleures pratiques pour l’utilisation des archives zip et tar.
Le répertoire spécifié par destinationDirectoryName peut déjà exister. Cette méthode crée le répertoire de destination, ses répertoires parents manquants et ses sous-répertoires si nécessaire lors de l’extraction d’entrées. Si l’archive est vide, cette méthode ne crée pas le répertoire de destination.
Si une erreur se produit lors de l’extraction, l’archive reste partiellement extraite. Chaque fichier extrait a le même chemin relatif que celui spécifié par destinationDirectoryName son entrée source à la racine de l’archive.