ZipFileExtensions.ExtractToDirectory メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
| 名前 | 説明 |
|---|---|
| ExtractToDirectory(ZipArchive, String) |
zip アーカイブ内のすべてのファイルをファイル システム上のディレクトリに抽出します。 |
| ExtractToDirectory(ZipArchive, String, Boolean) |
アーカイブ内のすべてのファイルをファイル システム上のディレクトリに抽出します。 |
ExtractToDirectory(ZipArchive, String)
zip アーカイブ内のすべてのファイルをファイル システム上のディレクトリに抽出します。
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、空白のみを含む、または少なくとも 1 つの無効な文字が含まれています。
destinationDirectoryName は nullです。
指定したパスがシステム定義の最大長を超えています。
指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。
アーカイブ内のエントリの名前が Emptyされているか、空白のみを含むか、少なくとも 1 つの無効な文字が含まれています。
-又は-
アーカイブからエントリを抽出すると、 destinationDirectoryNameで指定されたディレクトリの外部にあるファイルが作成されます。 (たとえば、エントリ名に親ディレクトリ アクセサーが含まれている場合に発生する可能性があります)。
-又は-
アーカイブ内の 2 つ以上のエントリの名前は同じです。
呼び出し元には、宛先ディレクトリに書き込むのに必要なアクセス許可がありません。
destinationDirectoryName には無効な形式が含まれています。
例
次の例は、既存のファイルから zip アーカイブに新しいエントリを作成し、そのアーカイブを新しいディレクトリに抽出する方法を示しています。
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で指定されたディレクトリを作成します。 このメソッドでは、zip アーカイブ内の階層を反映するサブディレクトリも作成されます。 抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 抽出された各ファイルには、ソース エントリがアーカイブのルートに対して持っているのと同じ destinationDirectoryName で指定されたディレクトリへの相対パスがあります。
適用対象
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 は長さ 0 の文字列、空白文字のみを含む、または InvalidPathChars で定義されている無効な文字を 1 つ以上含みます。
destinationDirectoryName は nullです。
指定したパス、ファイル名、またはその両方が、システム定義の最大長を超えています。
指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。
ZipArchiveEntryの名前は長さが 0 で、空白文字のみを含むか、InvalidPathCharsで定義されている無効な文字が 1 つ以上含まれています。
-又は-
ZipArchiveEntryを抽出すると、destinationDirectoryNameの外部にある宛先ファイルが生成されます (たとえば、エントリ名に親ディレクトリ アクセサーが含まれている場合)。
-又は-
ZipArchiveEntryは、同じアーカイブから既に抽出されたエントリと同じ名前を持ちます。
呼び出し元に必要なアクセス許可がありません。
destinationDirectoryName が無効な形式です。
注釈
指定したディレクトリが既に存在している可能性があります。 このメソッドは、必要に応じて、指定したディレクトリとすべてのサブディレクトリを作成します。
アーカイブの抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。
各エントリは、抽出されたファイルがアーカイブのルートに destinationDirectoryName する相対パスが同じになるように抽出されます。
アーカイブするファイルに無効な最終変更時刻がある場合は、Zip タイムスタンプ形式 (1980 年 1 月 1 日午前 0 時) で表される最初の日付と時刻が使用されます。