語言

ZipFileExtensions.ExtractToDirectory 方法

定義

將壓縮檔中的所有檔案解壓到檔案系統上的目錄。

多載

名稱 Description
ExtractToDirectory(ZipArchive, String, ZipExtractionOptions)
ExtractToDirectory(ZipArchive, String, Boolean)

將壓縮檔中的所有檔案解壓到檔案系統上的目錄。

ExtractToDirectory(ZipArchive, String)

將壓縮壓縮檔中的所有檔案解壓到檔案系統的目錄中。

ExtractToDirectory(ZipArchive, String, ZipExtractionOptions)

來源:
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)

參數

source
ZipArchive
destinationDirectoryName
String

適用於

ExtractToDirectory(ZipArchive, String, Boolean)

來源:
ZipFileExtensions.ZipArchive.Extract.cs
來源:
ZipFileExtensions.ZipArchive.Extract.cs
來源:
ZipFileExtensions.ZipArchive.Extract.cs
來源:
ZipFileExtensions.ZipArchive.Extract.cs
來源:
ZipFileExtensions.ZipArchive.Extract.cs

將壓縮檔中的所有檔案解壓到檔案系統上的目錄。

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)

參數

source
ZipArchive

要 ZipArchive 提取。

destinationDirectoryName
String

檔案系統中目的地目錄的路徑。 路徑可為相對路徑或絕對路徑。 相對路徑會被解讀為相對於目前工作目錄的相對於。

overwriteFiles
Boolean

true 覆寫現有檔案; false 否則,

例外狀況

destinationDirectoryName 是零長度字串,僅包含空白,或包含一個或多個無效字元,定義如下 InvalidPathChars。

destinationDirectoryName 是 null。

指定的路徑、檔名或兩者都超過系統定義的最大長度。

指定的路徑無效(例如,它位於未對應的磁碟驅動器上)。

a ZipArchiveEntry 的名稱長度為零,僅包含空白,或包含一個或多個無效字元,定義如下 InvalidPathChars。

-或-

解壓 會 ZipArchiveEntry 產生一個位於外部 destinationDirectoryName 的目的檔案(例如,若條目名稱包含父目錄存取者)。

-或-

A ZipArchiveEntry 與已從同一壓縮庫中解壓的條目名稱相同。

來電者沒有所需的權限。

destinationDirectoryName 格式無效。

ZipArchiveEntry A未被找到或被腐敗。

-或-

A ZipArchiveEntry 是用不支援的壓縮方式壓縮的。

備註

指定的目錄可能已經存在。 此方法會建立指定的目錄及必要時的所有子目錄。

若解壓時發生錯誤,該壓縮檔將保持部分解壓狀態。

每個項目的解壓路徑與該條目到檔案根目錄的路徑 destinationDirectoryName 相同。

若要歸檔的檔案最後修改時間無效,則使用Zip時間戳格式中可表示的第一個日期與時間(1980年1月1日午夜)。

適用於

ExtractToDirectory(ZipArchive, String)

來源:
ZipFileExtensions.ZipArchive.Extract.cs
來源:
ZipFileExtensions.ZipArchive.Extract.cs
來源:
ZipFileExtensions.ZipArchive.Extract.cs
來源:
ZipFileExtensions.ZipArchive.Extract.cs
來源:
ZipFileExtensions.ZipArchive.Extract.cs

將壓縮壓縮檔中的所有檔案解壓到檔案系統的目錄中。

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)

參數

source
ZipArchive

zip 壓縮檔用來解壓檔案。

destinationDirectoryName
String

就是將解壓檔案放入目錄的路徑。 你可以指定一個相對路徑或絕對路徑。 相對路徑會被解讀為相對於目前工作目錄的相對於。

例外狀況

destinationDirectoryName 是 Empty,僅包含空白,或至少包含一個無效字元。

destinationDirectoryName 是 null。

指定的路徑超過系統定義的最大長度。

指定的路徑無效(例如,它位於未對應的磁碟驅動器上)。

檔案中條目的名稱為 Empty,僅包含空白,或至少包含一個無效字元。

-或-

從壓縮檔中擷取條目會產生一個位於由 destinationDirectoryName所指定的目錄之外的檔案。 (例如,如果條目名稱包含父目錄存取者,可能會發生這種情況。)

-或-

檔案中兩個或以上條目名稱相同。

呼叫者沒有寫入目的目錄所需的權限。

destinationDirectoryName 包含無效格式。

無法找到檔案或檔案遺失。

-或-

壓縮檔案的條目是透過不支援的壓縮方法進行的。

範例

以下範例說明如何從現有檔案建立壓縮壓縮檔的新條目,並將該壓縮檔解壓到新目錄。

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

備註

此方法建立由 所 destinationDirectoryName指定的目錄。 此方法也會建立反映壓縮壓縮包階層的子目錄。 若解壓過程中發生錯誤,該壓縮檔仍維持部分解壓狀態。 每個解壓檔案對指定的 destinationDirectoryName 目錄的相對路徑,與其來源條目到壓縮檔根節點的路徑相同。

適用於