Compartir por


ZipFile.ExtractToDirectory Método

Definición

Extrae todos los archivos del archivo ZIP especificado en un directorio del sistema de archivos.

Sobrecargas

Nombre Description
ExtractToDirectory(String, String, Encoding, Boolean)

Extrae todos los archivos del archivo especificado en un directorio del sistema de archivos.

ExtractToDirectory(Stream, String, Encoding, Boolean)

Extrae todos los archivos del archivo ZIP almacenados en la secuencia especificada y los coloca en el directorio de destino especificado en el sistema de archivos, usa la codificación de caracteres especificada para los nombres y comentarios de entrada y, opcionalmente, permite elegir si se deben sobrescribir los archivos del directorio de destino.

ExtractToDirectory(String, String, Encoding)

Extrae todos los archivos del archivo ZIP especificado en un directorio del sistema de archivos y usa la codificación de caracteres especificada para los nombres de entrada y los comentarios.

ExtractToDirectory(String, String, Boolean)

Extrae todos los archivos del archivo especificado en un directorio del sistema de archivos.

ExtractToDirectory(Stream, String, Boolean)

Extrae todos los archivos del archivo ZIP almacenados en la secuencia especificada y los coloca en el directorio de destino especificado en el sistema de archivos y, opcionalmente, permite elegir si se deben sobrescribir los archivos del directorio de destino.

ExtractToDirectory(String, String)

Extrae todos los archivos del archivo ZIP especificado en un directorio del sistema de archivos.

ExtractToDirectory(Stream, String)

Extrae todos los archivos del archivo ZIP almacenados en la secuencia especificada y los coloca en el directorio de destino especificado en el sistema de archivos.

ExtractToDirectory(Stream, String, Encoding)

Extrae todos los archivos del archivo ZIP almacenados en la secuencia especificada y los coloca en el directorio de destino especificado en el sistema de archivos y usa la codificación de caracteres especificada para los nombres de entrada y los comentarios.

ExtractToDirectory(String, String, Encoding, Boolean)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrae todos los archivos del archivo especificado en un directorio del sistema de archivos.

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)

Parámetros

sourceArchiveFileName
String

Ruta de acceso del sistema de archivos al archivo que se va a extraer.

destinationDirectoryName
String

Ruta de acceso al directorio de destino del sistema de archivos.

entryNameEncoding
Encoding

Codificación que se va a usar al leer nombres de entrada y comentarios en este ZipArchive.

overwriteFiles
Boolean

true para sobrescribir archivos; false de lo contrario.

Excepciones

sourceArchiveFileName o destinationDirectoryName es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o varios caracteres no válidos, tal como se define en InvalidPathChars.

O bien

entryNameEncoding se establece en una codificación Unicode distinta de UTF-8.

sourceArchiveFileName o destinationDirectoryName es null.

sourceArchiveFileName o destinationDirectoryName especifica una ruta de acceso, un nombre de archivo o ambos que superan la longitud máxima definida por el sistema.

La ruta de acceso especificada por sourceArchiveFileName o destinationDirectoryName no es válida (por ejemplo, se encuentra en una unidad no asignada).

overwriteFiles es false y una entrada de archivo para extraer tiene el mismo nombre que un archivo que ya existe en destinationDirectoryName.

O bien

Se ha producido un error de E/S.

O bien

El nombre de es ZipArchiveEntry de longitud cero, contiene solo espacios en blanco o contiene uno o varios caracteres no válidos, tal como se define en InvalidPathChars.

O bien

La extracción de un ZipArchiveEntry daría lugar a un destino de archivo que está fuera del directorio de destino (por ejemplo, debido a los descriptores de acceso del directorio primario).

O bien

Un ZipArchiveEntry tiene el mismo nombre que una entrada ya extraída del mismo archivo.

El autor de la llamada no tiene el permiso necesario.

sourceArchiveFileName o destinationDirectoryName está en un formato no válido.

sourceArchiveFileName no se encontró.

El archivo especificado por sourceArchiveFileName no es un valor válido ZipArchive.

O bien

No se encontró una entrada de archivo o estaba dañada.

O bien

Se ha comprimido una entrada de archivo mediante un método de compresión que no se admite.

Comentarios

Si se produce un error al extraer el archivo, el archivo permanecerá parcialmente extraído.

Cada entrada se extraerá de modo que el archivo extraído tenga la misma ruta de acceso relativa a la destinationDirectoryName que tiene la entrada al archivo.

Los sourceArchiveFileName parámetros y destinationDirectoryName aceptan rutas de acceso relativas y absolutas. Una ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual.

Si una entrada del archivo ZIP es un vínculo simbólico, se extrae como una carpeta normal, ya que la información del vínculo simbólico no se conserva en formato ZIP. Si destinationDirectoryName o cualquiera de sus directorios primarios es una unión preexistente o un vínculo simbólico, se sigue el vínculo y la extracción escribe en la carpeta de destino final.

Si un archivo que se va a archivar tiene una hora de última modificación no válida, se usará la primera fecha y hora que se puede representar en el formato de marca de tiempo zip (medianoche del 1 de enero de 1980).

Advertencia

Este método no limita el tamaño total sin comprimir ni el número de entradas extraídas del archivo. Al procesar archivos de orígenes que no son de confianza, itera las entradas manualmente mediante ZipArchivey valida que el tamaño total sin comprimir y el número de entradas están dentro de los límites aceptables para su escenario.

Se aplica a

ExtractToDirectory(Stream, String, Encoding, Boolean)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrae todos los archivos del archivo ZIP almacenados en la secuencia especificada y los coloca en el directorio de destino especificado en el sistema de archivos, usa la codificación de caracteres especificada para los nombres y comentarios de entrada y, opcionalmente, permite elegir si se deben sobrescribir los archivos del directorio de destino.

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)

Parámetros

source
Stream

Secuencia desde la que se va a extraer el archivo ZIP.

destinationDirectoryName
String

Ruta de acceso al directorio en el que se van a colocar los archivos extraídos, especificados como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual.

entryNameEncoding
Encoding

Codificación que se va a usar al leer o escribir nombres de entrada y comentarios en este archivo. Especifique un valor para este parámetro solo cuando se requiera una codificación para la interoperabilidad con las herramientas y bibliotecas de archivo zip que no admiten la codificación UTF-8 para nombres de entrada o comentarios.

overwriteFiles
Boolean

true para sobrescribir archivos; false de lo contrario.

Excepciones

destinationDirectoryName es Empty, contiene solo espacio en blanco o contiene al menos un carácter no válido.

O bien

entryNameEncoding se establece en una codificación Unicode distinta de UTF-8.

destinationDirectoryName o source es null.

La ruta de acceso especificada en destinationDirectoryName supera la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

El nombre de una entrada del archivo es Empty, solo contiene espacios en blanco o contiene al menos un carácter no válido.

O bien

La extracción de una entrada de archivo crearía un archivo que está fuera del directorio especificado por destinationDirectoryName. (Por ejemplo, esto puede ocurrir si el nombre de entrada contiene descriptores de acceso de directorio primarios).

O bien

overwriteFiles es false y una entrada de archivo para extraer tiene el mismo nombre que una entrada que ya se ha extraído o que existe en destinationDirectoryName.

El autor de la llamada no tiene el permiso necesario para acceder al archivo o al directorio de destino.

destinationDirectoryName contiene un formato no válido.

El archivo contenido en la source secuencia no es un archivo ZIP válido.

O bien

No se encontró una entrada de archivo o estaba dañada.

O bien

Una entrada de archivo se comprimió mediante un método de compresión que no se admite.

Comentarios

Este método crea el directorio especificado y todos los subdirectorios. El directorio de destino no puede existir. Las excepciones relacionadas con la validación de las rutas de acceso en o destinationDirectoryName los archivos del archivo ZIP contenidos en los source parámetros se inician antes de la extracción. De lo contrario, si se produce un error durante la extracción, el archivo permanece parcialmente extraído. Cada archivo extraído tiene la misma ruta de acceso relativa al directorio especificado por destinationDirectoryName que su entrada de origen tiene en la raíz del archivo.

Si una entrada del archivo ZIP es un vínculo simbólico, se extrae como una carpeta normal, ya que la información del vínculo simbólico no se conserva en formato ZIP. Si destinationDirectoryName o cualquiera de sus directorios primarios es una unión preexistente o un vínculo simbólico, se sigue el vínculo y la extracción escribe en la carpeta de destino final.

Si un archivo que se va a archivar tiene una hora de última modificación no válida, se usará la primera fecha y hora que se puede representar en el formato de marca de tiempo zip (medianoche del 1 de enero de 1980).

Advertencia

Este método no limita el tamaño total sin comprimir ni el número de entradas extraídas del archivo. Al procesar archivos de orígenes que no son de confianza, itera las entradas manualmente mediante ZipArchivey valida que el tamaño total sin comprimir y el número de entradas están dentro de los límites aceptables para su escenario.

Se aplica a

ExtractToDirectory(String, String, Encoding)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrae todos los archivos del archivo ZIP especificado en un directorio del sistema de archivos y usa la codificación de caracteres especificada para los nombres de entrada y los comentarios.

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)

Parámetros

sourceArchiveFileName
String

Ruta de acceso al archivo que se va a extraer.

destinationDirectoryName
String

Ruta de acceso al directorio en el que se van a colocar los archivos extraídos, especificados como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual.

entryNameEncoding
Encoding

Codificación que se va a usar al leer o escribir nombres de entrada y comentarios en este archivo. Especifique un valor para este parámetro solo cuando se requiera una codificación para la interoperabilidad con las herramientas y bibliotecas de archivo zip que no admiten la codificación UTF-8 para nombres de entrada o comentarios.

Excepciones

destinationDirectoryName o sourceArchiveFileName es Empty, contiene solo espacio en blanco o contiene al menos un carácter no válido.

O bien

entryNameEncoding se establece en una codificación Unicode distinta de UTF-8.

destinationDirectoryName o sourceArchiveFileName es null.

La ruta de acceso especificada en destinationDirectoryName o sourceArchiveFileName supera la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

El nombre de una entrada del archivo es Empty, solo contiene espacios en blanco o contiene al menos un carácter no válido.

O bien

La extracción de una entrada de archivo crearía un archivo que está fuera del directorio especificado por destinationDirectoryName. (Por ejemplo, esto puede ocurrir si el nombre de entrada contiene descriptores de acceso de directorio primarios).

O bien

Una entrada de archivo para extraer tiene el mismo nombre que una entrada que ya se ha extraído o que existe en destinationDirectoryName.

El autor de la llamada no tiene el permiso necesario para acceder al archivo o al directorio de destino.

destinationDirectoryName o sourceArchiveFileName contiene un formato no válido.

sourceArchiveFileName no se encontró.

El archivo especificado por sourceArchiveFileName no es un archivo ZIP válido.

O bien

No se encontró una entrada de archivo o estaba dañada.

O bien

Una entrada de archivo se comprimió mediante un método de compresión que no se admite.

Comentarios

Este método crea el directorio especificado y todos los subdirectorios, si es necesario. Las excepciones relacionadas con la validación de las rutas de acceso en los destinationDirectoryName parámetros o sourceArchiveFileName se producen antes de la extracción. De lo contrario, si se produce un error durante la extracción, el archivo permanece parcialmente extraído. Cada archivo extraído tiene la misma ruta de acceso relativa al directorio especificado por destinationDirectoryName que su entrada de origen tiene en la raíz del archivo.

Si una entrada del archivo ZIP es un vínculo simbólico, se extrae como una carpeta normal, ya que la información del vínculo simbólico no se conserva en formato ZIP. Si destinationDirectoryName o cualquiera de sus directorios primarios es una unión preexistente o un vínculo simbólico, se sigue el vínculo y la extracción escribe en la carpeta de destino final.

Si entryNameEncoding se establece en un valor distinto nullde , los nombres de entrada y los comentarios se descodifican según las reglas siguientes:

  • Para las entradas en las que no se establece la marca de codificación de idioma (en la marca de bits de uso general del encabezado de archivo local), los nombres de entrada y los comentarios se descodifican mediante la codificación especificada.
  • Para las entradas en las que se establece la marca de codificación de idioma, los nombres de entrada y los comentarios se descodifican mediante UTF-8.

Si entryNameEncoding se establece en null, los nombres de entrada y los comentarios se descodifican según las reglas siguientes:

  • Para las entradas en las que no se establece la marca de codificación de idioma (en la marca de bits de uso general del encabezado de archivo local), los nombres de entrada y los comentarios se descodifican mediante la página de códigos predeterminada del sistema actual.
  • Para las entradas en las que se establece la marca de codificación de idioma, los nombres de entrada y los comentarios se descodifican mediante UTF-8.

Advertencia

Este método no limita el tamaño total sin comprimir ni el número de entradas extraídas del archivo. Al procesar archivos de orígenes que no son de confianza, itera las entradas manualmente mediante ZipArchivey valida que el tamaño total sin comprimir y el número de entradas están dentro de los límites aceptables para su escenario.

Se aplica a

ExtractToDirectory(String, String, Boolean)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrae todos los archivos del archivo especificado en un directorio del sistema de archivos.

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)

Parámetros

sourceArchiveFileName
String

Ruta de acceso del sistema de archivos al archivo que se va a extraer.

destinationDirectoryName
String

Ruta de acceso al directorio de destino del sistema de archivos.

overwriteFiles
Boolean

true para sobrescribir archivos; false de lo contrario.

Excepciones

sourceArchiveFileName o destinationDirectoryName es una cadena de longitud cero, contiene solo espacios en blanco o contiene uno o varios caracteres no válidos, tal como se define en InvalidPathChars.

sourceArchiveFileName o destinationDirectoryName es null.

sourceArchiveFileName o destinationDirectoryName especifica una ruta de acceso, un nombre de archivo o ambos que superan la longitud máxima definida por el sistema.

La ruta de acceso especificada por sourceArchiveFileName o destinationDirectoryName no es válida (por ejemplo, se encuentra en una unidad no asignada).

overwriteFiles es false y destinationDirectoryName ya contiene un archivo con el mismo nombre que un archivo que se está extrayendo.

O bien

Se ha producido un error de E/S.

O bien

El nombre de es ZipArchiveEntry de longitud cero, contiene solo espacios en blanco o contiene uno o varios caracteres no válidos, tal como se define en InvalidPathChars.

O bien

La extracción de un ZipArchiveEntry daría lugar a un destino de archivo que está fuera del directorio de destino (por ejemplo, debido a los descriptores de acceso del directorio primario).

O bien

Tiene ZipArchiveEntry el mismo nombre que una entrada del mismo archivo que ya se ha extraído.

El autor de la llamada no tiene el permiso necesario.

sourceArchiveFileName o destinationDirectoryName está en un formato no válido.

sourceArchiveFileName no se encontró.

El archivo especificado por sourceArchiveFileName no es un valor válido ZipArchive.

O bien

No ZipArchiveEntry se encontró o estaba dañado.

O bien

Se ZipArchiveEntry ha comprimido mediante un método de compresión que no se admite.

Comentarios

Si se produce un error al extraer el archivo, el archivo permanecerá parcialmente extraído.

Cada entrada se extraerá de modo que el archivo extraído tenga la misma ruta de acceso relativa a la destinationDirectoryName que tiene la entrada al archivo.

Los sourceArchiveFileName parámetros y destinationDirectoryName aceptan rutas de acceso relativas y absolutas. Una ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual.

Si una entrada del archivo ZIP es un vínculo simbólico, se extrae como una carpeta normal, ya que la información del vínculo simbólico no se conserva en formato ZIP. Si destinationDirectoryName o cualquiera de sus directorios primarios es una unión preexistente o un vínculo simbólico, se sigue el vínculo y la extracción escribe en la carpeta de destino final.

Si un archivo que se va a archivar tiene una hora de última modificación no válida, se usará la primera fecha y hora que se puede representar en el formato de marca de tiempo zip (medianoche del 1 de enero de 1980).

Advertencia

Este método no limita el tamaño total sin comprimir ni el número de entradas extraídas del archivo. Al procesar archivos de orígenes que no son de confianza, itera las entradas manualmente mediante ZipArchivey valida que el tamaño total sin comprimir y el número de entradas están dentro de los límites aceptables para su escenario.

Se aplica a

ExtractToDirectory(Stream, String, Boolean)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrae todos los archivos del archivo ZIP almacenados en la secuencia especificada y los coloca en el directorio de destino especificado en el sistema de archivos y, opcionalmente, permite elegir si se deben sobrescribir los archivos del directorio de destino.

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)

Parámetros

source
Stream

Secuencia desde la que se va a extraer el archivo ZIP.

destinationDirectoryName
String

Ruta de acceso al directorio en el que se van a colocar los archivos extraídos, especificados como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual.

overwriteFiles
Boolean

true para sobrescribir archivos; false de lo contrario.

Excepciones

destinationDirectoryName es Empty, contiene solo espacio en blanco o contiene al menos un carácter no válido.

destinationDirectoryName o source es null.

La ruta de acceso especificada en destinationDirectoryName supera la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

El nombre de una entrada del archivo es Empty, solo contiene espacios en blanco o contiene al menos un carácter no válido.

O bien

La extracción de una entrada de archivo crearía un archivo que está fuera del directorio especificado por destinationDirectoryName. (Por ejemplo, esto puede ocurrir si el nombre de entrada contiene descriptores de acceso de directorio primarios).

O bien

overwriteFiles es false y una entrada de archivo para extraer tiene el mismo nombre que una entrada que ya se ha extraído o que existe en destinationDirectoryName.

El autor de la llamada no tiene el permiso necesario para acceder al archivo o al directorio de destino.

destinationDirectoryName contiene un formato no válido.

El archivo contenido en la source secuencia no es un archivo ZIP válido.

O bien

No se encontró una entrada de archivo o estaba dañada.

O bien

Una entrada de archivo se comprimió mediante un método de compresión que no se admite.

Comentarios

Este método crea el directorio especificado y todos los subdirectorios. El directorio de destino no puede existir. Las excepciones relacionadas con la validación de las rutas de acceso en o destinationDirectoryName los archivos del archivo ZIP contenidos en los source parámetros se inician antes de la extracción. De lo contrario, si se produce un error durante la extracción, el archivo permanece parcialmente extraído. Cada archivo extraído tiene la misma ruta de acceso relativa al directorio especificado por destinationDirectoryName que su entrada de origen tiene en la raíz del archivo.

Si una entrada del archivo ZIP es un vínculo simbólico, se extrae como una carpeta normal, ya que la información del vínculo simbólico no se conserva en formato ZIP. Si destinationDirectoryName o cualquiera de sus directorios primarios es una unión preexistente o un vínculo simbólico, se sigue el vínculo y la extracción escribe en la carpeta de destino final.

Si un archivo que se va a archivar tiene una hora de última modificación no válida, se usará la primera fecha y hora que se puede representar en el formato de marca de tiempo zip (medianoche del 1 de enero de 1980).

Advertencia

Este método no limita el tamaño total sin comprimir ni el número de entradas extraídas del archivo. Al procesar archivos de orígenes que no son de confianza, itera las entradas manualmente mediante ZipArchivey valida que el tamaño total sin comprimir y el número de entradas están dentro de los límites aceptables para su escenario.

Se aplica a

ExtractToDirectory(String, String)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrae todos los archivos del archivo ZIP especificado en un directorio del sistema de archivos.

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)

Parámetros

sourceArchiveFileName
String

Ruta de acceso al archivo que se va a extraer.

destinationDirectoryName
String

Ruta de acceso al directorio en el que se van a colocar los archivos extraídos, especificados como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual.

Excepciones

destinationDirectoryName o sourceArchiveFileName es Empty, contiene solo espacio en blanco o contiene al menos un carácter no válido.

destinationDirectoryName o sourceArchiveFileName es null.

La ruta de acceso especificada en destinationDirectoryName o sourceArchiveFileName supera la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

El nombre de una entrada del archivo es Empty, solo contiene espacios en blanco o contiene al menos un carácter no válido.

O bien

La extracción de una entrada de archivo crearía un archivo que está fuera del directorio especificado por destinationDirectoryName. (Por ejemplo, esto puede ocurrir si el nombre de entrada contiene descriptores de acceso de directorio primarios).

O bien

Una entrada de archivo para extraer tiene el mismo nombre que una entrada que ya se ha extraído o que existe en destinationDirectoryName.

El autor de la llamada no tiene el permiso necesario para acceder al archivo o al directorio de destino.

destinationDirectoryName o sourceArchiveFileName contiene un formato no válido.

sourceArchiveFileName no se encontró.

El archivo especificado por sourceArchiveFileName no es un archivo ZIP válido.

O bien

No se encontró una entrada de archivo o estaba dañada.

O bien

Una entrada de archivo se comprimió mediante un método de compresión que no se admite.

Ejemplos

En este ejemplo se muestra cómo crear y extraer un archivo ZIP mediante la ZipFile clase . Comprime el contenido de una carpeta en un archivo ZIP y extrae ese contenido en una nueva carpeta. Para usar la ZipFile clase , debe hacer referencia al ensamblado en el System.IO.Compression.FileSystem proyecto.

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

Comentarios

Este método crea el directorio especificado y todos los subdirectorios. El directorio de destino no puede existir. Las excepciones relacionadas con la validación de las rutas de acceso en los destinationDirectoryName parámetros o sourceArchiveFileName se producen antes de la extracción. De lo contrario, si se produce un error durante la extracción, el archivo permanece parcialmente extraído. Cada archivo extraído tiene la misma ruta de acceso relativa al directorio especificado por destinationDirectoryName que su entrada de origen tiene en la raíz del archivo.

Si una entrada del archivo ZIP es un vínculo simbólico, se extrae como una carpeta normal, ya que la información del vínculo simbólico no se conserva en formato ZIP. Si destinationDirectoryName o cualquiera de sus directorios primarios es una unión preexistente o un vínculo simbólico, se sigue el vínculo y la extracción escribe en la carpeta de destino final.

Advertencia

Este método no limita el tamaño total sin comprimir ni el número de entradas extraídas del archivo. Al procesar archivos de orígenes que no son de confianza, itera las entradas manualmente mediante ZipArchivey valida que el tamaño total sin comprimir y el número de entradas están dentro de los límites aceptables para su escenario.

Se aplica a

ExtractToDirectory(Stream, String)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrae todos los archivos del archivo ZIP almacenados en la secuencia especificada y los coloca en el directorio de destino especificado en el sistema de archivos.

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)

Parámetros

source
Stream

Secuencia desde la que se va a extraer el archivo ZIP.

destinationDirectoryName
String

Ruta de acceso al directorio en el que se van a colocar los archivos extraídos, especificados como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual.

Excepciones

destinationDirectoryName es Empty, contiene solo espacio en blanco o contiene al menos un carácter no válido.

destinationDirectoryName o source es null.

La ruta de acceso especificada en destinationDirectoryName supera la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

El nombre de una entrada del archivo es Empty, solo contiene espacios en blanco o contiene al menos un carácter no válido.

O bien

La extracción de una entrada de archivo crearía un archivo que está fuera del directorio especificado por destinationDirectoryName. (Por ejemplo, esto puede ocurrir si el nombre de entrada contiene descriptores de acceso de directorio primarios).

O bien

Una entrada de archivo para extraer tiene el mismo nombre que una entrada que ya se ha extraído o que existe en destinationDirectoryName.

El autor de la llamada no tiene el permiso necesario para acceder al archivo o al directorio de destino.

destinationDirectoryName contiene un formato no válido.

El archivo contenido en la source secuencia no es un archivo ZIP válido.

O bien

No se encontró una entrada de archivo o estaba dañada.

O bien

Una entrada de archivo se comprimió mediante un método de compresión que no se admite.

Comentarios

Este método crea el directorio especificado y todos los subdirectorios. El directorio de destino no puede existir. Las excepciones relacionadas con la validación de las rutas de acceso en o destinationDirectoryName los archivos del archivo ZIP contenidos en los source parámetros se inician antes de la extracción. De lo contrario, si se produce un error durante la extracción, el archivo permanece parcialmente extraído. Cada archivo extraído tiene la misma ruta de acceso relativa al directorio especificado por destinationDirectoryName que su entrada de origen tiene en la raíz del archivo.

Si una entrada del archivo ZIP es un vínculo simbólico, se extrae como una carpeta normal, ya que la información del vínculo simbólico no se conserva en formato ZIP. Si destinationDirectoryName o cualquiera de sus directorios primarios es una unión preexistente o un vínculo simbólico, se sigue el vínculo y la extracción escribe en la carpeta de destino final.

Si un archivo que se va a archivar tiene una hora de última modificación no válida, se usará la primera fecha y hora que se puede representar en el formato de marca de tiempo zip (medianoche del 1 de enero de 1980).

Advertencia

Este método no limita el tamaño total sin comprimir ni el número de entradas extraídas del archivo. Al procesar archivos de orígenes que no son de confianza, itera las entradas manualmente mediante ZipArchivey valida que el tamaño total sin comprimir y el número de entradas están dentro de los límites aceptables para su escenario.

Se aplica a

ExtractToDirectory(Stream, String, Encoding)

Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs
Source:
ZipFile.Extract.cs

Extrae todos los archivos del archivo ZIP almacenados en la secuencia especificada y los coloca en el directorio de destino especificado en el sistema de archivos y usa la codificación de caracteres especificada para los nombres de entrada y los comentarios.

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)

Parámetros

source
Stream

Secuencia desde la que se va a extraer el archivo ZIP.

destinationDirectoryName
String

Ruta de acceso al directorio en el que se van a colocar los archivos extraídos, especificados como una ruta de acceso relativa o absoluta. Una ruta de acceso relativa se interpreta como relativa al directorio de trabajo actual.

entryNameEncoding
Encoding

Codificación que se va a usar al leer o escribir nombres de entrada y comentarios en este archivo. Especifique un valor para este parámetro solo cuando se requiera una codificación para la interoperabilidad con las herramientas y bibliotecas de archivo zip que no admiten la codificación UTF-8 para nombres de entrada o comentarios.

Excepciones

destinationDirectoryName es Empty, contiene solo espacio en blanco o contiene al menos un carácter no válido.

O bien

entryNameEncoding se establece en una codificación Unicode distinta de UTF-8.

destinationDirectoryName o source es null.

La ruta de acceso especificada en destinationDirectoryName supera la longitud máxima definida por el sistema.

La ruta de acceso especificada no es válida (por ejemplo, está en una unidad no asignada).

El nombre de una entrada del archivo es Empty, solo contiene espacios en blanco o contiene al menos un carácter no válido.

O bien

La extracción de una entrada de archivo crearía un archivo que está fuera del directorio especificado por destinationDirectoryName. (Por ejemplo, esto puede ocurrir si el nombre de entrada contiene descriptores de acceso de directorio primarios).

O bien

Una entrada de archivo para extraer tiene el mismo nombre que una entrada que ya se ha extraído o que existe en destinationDirectoryName.

El autor de la llamada no tiene el permiso necesario para acceder al archivo o al directorio de destino.

destinationDirectoryName contiene un formato no válido.

El archivo contenido en la source secuencia no es un archivo ZIP válido.

O bien

No se encontró una entrada de archivo o estaba dañada.

O bien

Una entrada de archivo se comprimió mediante un método de compresión que no se admite.

Comentarios

Este método crea el directorio especificado y todos los subdirectorios. El directorio de destino no puede existir. Las excepciones relacionadas con la validación de las rutas de acceso en o destinationDirectoryName los archivos del archivo ZIP contenidos en los source parámetros se inician antes de la extracción. De lo contrario, si se produce un error durante la extracción, el archivo permanece parcialmente extraído. Cada archivo extraído tiene la misma ruta de acceso relativa al directorio especificado por destinationDirectoryName que su entrada de origen tiene en la raíz del archivo.

Si un archivo que se va a archivar tiene una hora de última modificación no válida, se usará la primera fecha y hora que se puede representar en el formato de marca de tiempo zip (medianoche del 1 de enero de 1980).

Advertencia

Este método no limita el tamaño total sin comprimir ni el número de entradas extraídas del archivo. Al procesar archivos de orígenes que no son de confianza, itera las entradas manualmente mediante ZipArchivey valida que el tamaño total sin comprimir y el número de entradas están dentro de los límites aceptables para su escenario.

Se aplica a