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
それ以外の場合は 。
例外
destinationArchiveFileName
は長さ 0 の文字列で、空白のみが含まれるか、または InvalidPathChars で定義される 1 つまたは複数の無効な文字が含まれます。
destinationArchiveFileName
が null
です。
指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。
指定されたパスが正しくありません (たとえば、マップされていないドライブにあるなど)。
ZipArchiveEntry の名前は長さ 0 の文字列で、空白のみが含まれるか、または InvalidPathChars で定義される 1 つまたは複数の無効な文字が含まれます。
- または -
ZipArchiveEntry を抽出すると、destinationArchiveFileName
の外部にあるターゲット ファイルが生成されます (たとえば、エントリ名に親ディレクトリのアクセサーが含まれている場合)。
- または -
ZipArchiveEntry には、同じアーカイブから既に抽出されたエントリと同じ名前が付けられています。
呼び出し元に、必要なアクセス許可がありません。
destinationArchiveFileName
の形式が正しくありません。
注釈
指定したディレクトリが既に存在する可能性があります。 このメソッドは、必要に応じて、指定したディレクトリとすべてのサブディレクトリを作成します。
アーカイブの抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。
各エントリは、抽出されたファイルがアーカイブのルートに対する destinationDirectoryName
エントリと同じ相対パスを持つように抽出されます。
アーカイブするファイルの最終変更時刻が無効な場合は、Zip タイムスタンプ形式 (1980 年 1 月 1 日午前 0 時) で表される最初の日付と時刻が使用されます。
適用対象
.NET