ZipFileExtensions.ExtractToDirectory Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee worden alle bestanden in het archief geëxtraheerd naar een map in het bestandssysteem.
Overloads
| Naam | Description |
|---|---|
| ExtractToDirectory(ZipArchive, String, ZipExtractionOptions) | |
| ExtractToDirectory(ZipArchive, String, Boolean) |
Hiermee worden alle bestanden in het archief geëxtraheerd naar een map in het bestandssysteem. |
| ExtractToDirectory(ZipArchive, String) |
Extraheert alle bestanden in het zip-archief naar een map in het bestandssysteem. |
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)
Parameters
- source
- ZipArchive
- destinationDirectoryName
- String
Het pad naar de map waarin de geëxtraheerde bestanden moeten worden opgeslagen. De map kan al bestaan. Ontbrekende mappen worden indien nodig gemaakt bij het extraheren van vermeldingen.
- options
- ZipExtractionOptions
Opmerkingen
Warning
Deze methode mag niet worden gebruikt om niet-vertrouwde archieven te extraheren. Er worden geen groottelimieten, limieten voor het aantal vermeldingen of andere beleidsregels afgedwongen die nodig zijn voor veilige extractie van niet-vertrouwde archieven. Zie Best practices voor het gebruik van zip- en tar-archieven voor meer informatie over het veilig extraheren van archieven uit niet-vertrouwde bronnen.
De map die is opgegeven door destinationDirectoryName kan al bestaan. Met deze methode maakt u de doelmap, de ontbrekende bovenliggende mappen en submappen indien nodig bij het extraheren van vermeldingen. Als het archief leeg is, maakt deze methode de doelmap niet.
Elk uitgepakt bestand heeft hetzelfde relatieve pad als destinationDirectoryName de bronvermelding moet naar de hoofdmap van het archief.
De destinationDirectoryName parameter accepteert relatieve en absolute paden. Een relatief pad wordt geïnterpreteerd als relatief ten opzichte van de huidige werkmap.
Als er een fout optreedt tijdens het extraheren, blijft het archief gedeeltelijk geëxtraheerd.
Ingesteld OverwriteFiles op true het overschrijven van bestaande bestanden. De standaardwaarde is false, waardoor extractie een IOException als een bestand dat al wordt geëxtraheerd, wordt veroorzaakt.
Gebruik Password dit om het wachtwoord op te geven voor versleutelde vermeldingen.
EntryNameEncoding wordt niet gebruikt door deze overbelasting. Vermeldingsnamen en opmerkingen worden gedecodeerd met behulp van de codering die is opgegeven wanneer het source archief wordt geopend.
Symbolische koppelingen in het archief worden niet opnieuw gemaakt als symbolische koppelingen. Als destinationDirectoryName of een van de bovenliggende mappen een bestaande koppeling of symbolische koppeling is, wordt de koppeling gevolgd en wordt de extractie geschreven naar de uiteindelijke doelmap.
Van toepassing op
ExtractToDirectory(ZipArchive, String, Boolean)
Hiermee worden alle bestanden in het archief geëxtraheerd naar een map in het bestandssysteem.
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)
Parameters
- source
- ZipArchive
Het ZipArchive te extraheren.
- destinationDirectoryName
- String
Het pad naar de doelmap in het bestandssysteem. Het pad kan relatief of absoluut zijn. Een relatief pad wordt geïnterpreteerd als relatief ten opzichte van de huidige werkmap. De map kan al bestaan. Ontbrekende mappen worden indien nodig gemaakt bij het extraheren van vermeldingen.
- overwriteFiles
- Boolean
true bestaande bestanden te overschrijven; false Anders.
Uitzonderingen
destinationDirectoryName is een tekenreeks met lengte nul, bevat alleen witruimte of bevat een of meer ongeldige tekens zoals gedefinieerd door InvalidPathChars.
destinationDirectoryName is null.
Het opgegeven pad, de bestandsnaam of beide overschrijden de door het systeem gedefinieerde maximumlengte.
Het opgegeven pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).
De naam van een ZipArchiveEntry is nullengte, bevat alleen witruimte of bevat een of meer ongeldige tekens zoals gedefinieerd door InvalidPathChars.
– of –
Het extraheren van een ZipArchiveEntry bestand zou hebben geresulteerd in een doelbestand dat zich buiten destinationDirectoryName bevindt (bijvoorbeeld als de vermeldingsnaam bovenliggende directory-accessors bevat).
– of –
A ZipArchiveEntry heeft dezelfde naam als een al geëxtraheerde vermelding uit hetzelfde archief.
De beller heeft niet de vereiste machtiging.
destinationDirectoryName heeft een ongeldige indeling.
Er ZipArchiveEntry is geen gevonden of beschadigd.
– of –
Een ZipArchiveEntry is gecomprimeerd met behulp van een compressiemethode die niet wordt ondersteund.
Opmerkingen
Warning
Deze methode mag niet worden gebruikt om niet-vertrouwde archieven te extraheren. Er worden geen groottelimieten, limieten voor het aantal vermeldingen of andere beleidsregels afgedwongen die nodig zijn voor veilige extractie van niet-vertrouwde archieven. Zie Best practices voor het gebruik van zip- en tar-archieven voor meer informatie over het veilig extraheren van archieven uit niet-vertrouwde bronnen.
De map die is opgegeven door destinationDirectoryName kan al bestaan. Met deze methode maakt u de doelmap, de ontbrekende bovenliggende mappen en submappen indien nodig bij het extraheren van vermeldingen. Als het archief leeg is, maakt deze methode de doelmap niet.
Als er een fout optreedt tijdens het extraheren van het archief, blijft het archief gedeeltelijk geëxtraheerd.
Elke vermelding wordt geëxtraheerd, zodat het uitgepakte bestand hetzelfde relatieve pad destinationDirectoryName heeft als de vermelding in de hoofdmap van het archief.
Als een te archiveren bestand een ongeldige datum en tijd heeft die het laatst is gewijzigd, wordt de eerste datum en tijd in de indeling Zip-tijdstempel (middernacht op 1 januari 1980) gebruikt.
Van toepassing op
ExtractToDirectory(ZipArchive, String)
Extraheert alle bestanden in het zip-archief naar een map in het bestandssysteem.
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)
Parameters
- source
- ZipArchive
Het zip-archief waaruit bestanden moeten worden geëxtraheerd.
- destinationDirectoryName
- String
Het pad naar de map waarin de geëxtraheerde bestanden moeten worden opgeslagen. U kunt een relatief of een absoluut pad opgeven. Een relatief pad wordt geïnterpreteerd als relatief ten opzichte van de huidige werkmap. De map kan al bestaan. Ontbrekende mappen worden indien nodig gemaakt bij het extraheren van vermeldingen.
Uitzonderingen
destinationDirectoryName is Empty, bevat slechts witruimte of bevat ten minste één ongeldig teken.
destinationDirectoryName is null.
Het opgegeven pad overschrijdt de door het systeem gedefinieerde maximumlengte.
Het opgegeven pad is ongeldig (bijvoorbeeld op een niet-toegewezen station).
De naam van een vermelding in het archief is Empty, bevat slechts witruimte of bevat ten minste één ongeldig teken.
– of –
Als u een vermelding uit het archief extraheert, wordt er een bestand gemaakt dat zich buiten de map bevindt die is opgegeven door destinationDirectoryName. (Dit kan bijvoorbeeld gebeuren als de vermeldingsnaam bovenliggende adreslijsttoegangsors bevat.)
– of –
Twee of meer vermeldingen in het archief hebben dezelfde naam.
De aanroeper beschikt niet over de vereiste machtigingen om naar de doelmap te schrijven.
destinationDirectoryName bevat een ongeldige indeling.
Een archiefvermelding kan niet worden gevonden of is beschadigd.
– of –
Een archiefvermelding is gecomprimeerd met behulp van een compressiemethode die niet wordt ondersteund.
Voorbeelden
In het volgende voorbeeld ziet u hoe u een nieuwe vermelding maakt in een zip-archief van een bestaand bestand en hoe u het archief extraheert naar een nieuwe map.
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
Opmerkingen
Warning
Deze methode mag niet worden gebruikt om niet-vertrouwde archieven te extraheren. Er worden geen groottelimieten, limieten voor het aantal vermeldingen of andere beleidsregels afgedwongen die nodig zijn voor veilige extractie van niet-vertrouwde archieven. Zie Best practices voor het gebruik van zip- en tar-archieven voor meer informatie over het veilig extraheren van archieven uit niet-vertrouwde bronnen.
De map die is opgegeven door destinationDirectoryName kan al bestaan. Met deze methode maakt u de doelmap, de ontbrekende bovenliggende mappen en submappen indien nodig bij het extraheren van vermeldingen. Als het archief leeg is, maakt deze methode de doelmap niet.
Als er een fout optreedt tijdens het extraheren, blijft het archief gedeeltelijk geëxtraheerd. Elk uitgepakt bestand heeft hetzelfde relatieve pad naar de map die is destinationDirectoryName opgegeven als de bronvermelding, moet in de hoofdmap van het archief staan.