ZipFileExtensions.ExtractToDirectory 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
將壓縮檔中的所有檔案解壓到檔案系統上的目錄。
多載
| 名稱 | Description |
|---|---|
| ExtractToDirectory(ZipArchive, String, ZipExtractionOptions) | |
| ExtractToDirectory(ZipArchive, String, Boolean) |
將壓縮檔中的所有檔案解壓到檔案系統上的目錄。 |
| ExtractToDirectory(ZipArchive, String) |
將壓縮壓縮檔中的所有檔案解壓到檔案系統的目錄中。 |
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)
參數
- source
- ZipArchive
- destinationDirectoryName
- String
- options
- ZipExtractionOptions
適用於
ExtractToDirectory(ZipArchive, String, Boolean)
將壓縮檔中的所有檔案解壓到檔案系統上的目錄。
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 格式無效。
備註
指定的目錄可能已經存在。 此方法會建立指定的目錄及必要時的所有子目錄。
若解壓時發生錯誤,該壓縮檔將保持部分解壓狀態。
每個項目的解壓路徑與該條目到檔案根目錄的路徑 destinationDirectoryName 相同。
若要歸檔的檔案最後修改時間無效,則使用Zip時間戳格式中可表示的第一個日期與時間(1980年1月1日午夜)。
適用於
ExtractToDirectory(ZipArchive, String)
將壓縮壓縮檔中的所有檔案解壓到檔案系統的目錄中。
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 目錄的相對路徑,與其來源條目到壓縮檔根節點的路徑相同。