Language

ZipFileExtensions.ExtractToDirectoryAsync メソッド

定義

アーカイブ内のすべてのファイルをファイル システム上のディレクトリに抽出します。 指定したディレクトリが既に存在している可能性があります。

オーバーロード

Name 説明
ExtractToDirectoryAsync(ZipArchive, String, CancellationToken)

アーカイブ内のすべてのファイルをファイル システム上のディレクトリに非同期的に抽出します。 指定したディレクトリは既に存在できます。

ExtractToDirectoryAsync(ZipArchive, String, Boolean, CancellationToken)

アーカイブ内のすべてのファイルをファイル システム上のディレクトリに抽出します。 指定したディレクトリは既に存在できます。

ExtractToDirectoryAsync(ZipArchive, String, ZipExtractionOptions, CancellationToken)

ExtractToDirectoryAsync(ZipArchive, String, CancellationToken)

ソース:
ZipFileExtensions.ZipArchive.Extract.Async.cs
ソース:
ZipFileExtensions.ZipArchive.Extract.Async.cs

アーカイブ内のすべてのファイルをファイル システム上のディレクトリに非同期的に抽出します。 指定したディレクトリは既に存在できます。

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(this System.IO.Compression.ZipArchive source, string destinationDirectoryName, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Compression.ZipArchive * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExtractToDirectoryAsync (source As ZipArchive, destinationDirectoryName As String, Optional cancellationToken As CancellationToken = Nothing) As Task

パラメーター

source
ZipArchive

ファイルを抽出する zip アーカイブ。

destinationDirectoryName
String

ファイル システム上のディレクトリへのパス。 ディレクトリは既に存在できます。 不足しているディレクトリは、エントリを抽出するときに必要に応じて作成されます。

cancellationToken
CancellationToken

キャンセル要求を監視するキャンセル トークン。

返品

例外

destinationDirectoryName は長さ 0 の文字列で、空白文字のみを含むか、InvalidPathChars で定義されている無効な文字を 1 つ以上含みます。

destinationDirectoryName は nullです。

指定したパス、ファイル名、またはその両方が、システム定義の最大長を超えています。 たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満にする必要があり、ファイル名は 260 文字未満にする必要があります。

指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。

アーカイブ エントリの名前は長さ 0 で、空白文字のみを含むか、InvalidPathChars で定義されている無効な文字が 1 つ以上含まれています。

-又は-

アーカイブ エントリを抽出すると、 destinationDirectoryName の外部にある宛先ファイルが生成されます (たとえば、エントリ名に親ディレクトリ アクセサーが含まれている場合)。

-又は-

アーカイブ エントリの名前は、同じアーカイブから既に抽出されたエントリと同じです。

呼び出し元に必要なアクセス許可がありません。

destinationDirectoryName が無効な形式です。

アーカイブ エントリが見つからないか、破損しています。

-又は-

アーカイブ エントリは、サポートされていない圧縮方法を使用して圧縮されています。

非同期操作は取り消されます。

注釈

Warning

このメソッドを使用して、信頼されていないアーカイブを抽出することはできません。 信頼されていないアーカイブを安全に抽出するために必要なサイズ制限、エントリ数の制限、またはその他のポリシーは適用されません。 信頼されていないソースからアーカイブを安全に抽出する方法の詳細については、「 zip アーカイブと tar アーカイブを使用するためのベスト プラクティス」を参照してください。

destinationDirectoryNameで指定されたディレクトリは既に存在できます。 このメソッドは、エントリを抽出するときに必要に応じて、宛先ディレクトリ、その不足している親ディレクトリ、およびサブディレクトリを作成します。 アーカイブが空の場合、このメソッドは宛先ディレクトリを作成しません。

パスには、相対パスまたは絶対パス情報を指定できます。 相対パス情報は、現在の作業ディレクトリに対する相対パスとして解釈されます。

アーカイブの抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままです。

各エントリは、抽出されたファイルがアーカイブのルートに destinationDirectoryName する相対パスが同じになるように抽出されます。 アーカイブするファイルに無効な最終変更時刻がある場合は、Zip タイムスタンプ形式で表される最初の日時 (1980 年 1 月 1 日の午前 0 時) が使用されます。

適用対象

ExtractToDirectoryAsync(ZipArchive, String, Boolean, CancellationToken)

ソース:
ZipFileExtensions.ZipArchive.Create.cs
ソース:
ZipFileExtensions.ZipArchive.Extract.Async.cs

アーカイブ内のすべてのファイルをファイル システム上のディレクトリに抽出します。 指定したディレクトリは既に存在できます。

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(this System.IO.Compression.ZipArchive source, string destinationDirectoryName, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Compression.ZipArchive * string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExtractToDirectoryAsync (source As ZipArchive, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

パラメーター

source
ZipArchive

ファイルを抽出する zip アーカイブ。

destinationDirectoryName
String

ファイル システム上のディレクトリへのパス。 ディレクトリは既に存在できます。 不足しているディレクトリは、エントリを抽出するときに必要に応じて作成されます。

overwriteFiles
Boolean

true ファイルを上書きする場合。それ以外の場合 false 。

cancellationToken
CancellationToken

キャンセル要求を監視するキャンセル トークン。

返品

例外

destinationDirectoryName は長さ 0 の文字列で、空白文字のみを含むか、InvalidPathChars で定義されている無効な文字を 1 つ以上含みます。

このメソッドは、エントリを抽出するときに、必要に応じて不足しているディレクトリを作成します。

アーカイブの抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。

各エントリは、抽出されたファイルがアーカイブのルートに destinationDirectoryName する相対パスが同じになるように抽出されます。 アーカイブするファイルに無効な最終変更時刻がある場合は、Zip タイムスタンプ形式で表される最初の日時 (1980 年 1 月 1 日の午前 0 時) が使用されます。

destinationDirectoryName は nullです。

指定したパス、ファイル名、またはその両方が、システム定義の最大長を超えています。

たとえば、Windows ベースのプラットフォームでは、パスは 248 文字未満にする必要があり、ファイル名は 260 文字未満にする必要があります。

指定されたパスが無効です (たとえば、マップされていないドライブ上にあります)。

アーカイブ エントリの名前は長さ 0 で、空白文字のみを含むか、InvalidPathChars で定義されている無効な文字が 1 つ以上含まれています。

-又は-

アーカイブ エントリを抽出すると、 destinationDirectoryName の外部にある宛先ファイルが生成されます (たとえば、エントリ名に親ディレクトリ アクセサーが含まれている場合)。

-又は-

アーカイブ エントリの名前は、同じアーカイブから既に抽出されたエントリと同じです。

呼び出し元に必要なアクセス許可がありません。

destinationDirectoryName が無効な形式です。

アーカイブ エントリが見つからないか、破損しています。

-又は-

アーカイブ エントリは、サポートされていない圧縮方法を使用して圧縮されています。

注釈

Warning

このメソッドを使用して、信頼されていないアーカイブを抽出することはできません。 信頼されていないアーカイブを安全に抽出するために必要なサイズ制限、エントリ数の制限、またはその他のポリシーは適用されません。 信頼されていないソースからアーカイブを安全に抽出する方法の詳細については、「 zip アーカイブと tar アーカイブを使用するためのベスト プラクティス」を参照してください。

destinationDirectoryNameで指定されたディレクトリは既に存在できます。 このメソッドは、エントリを抽出するときに必要に応じて、宛先ディレクトリ、その不足している親ディレクトリ、およびサブディレクトリを作成します。 アーカイブが空の場合、このメソッドは宛先ディレクトリを作成しません。

パスには、相対パスまたは絶対パス情報を指定できます。 相対パス情報は、現在の作業ディレクトリに対する相対パスとして解釈されます。

適用対象

ExtractToDirectoryAsync(ZipArchive, String, ZipExtractionOptions, CancellationToken)

ソース:
ZipFileExtensions.ZipArchive.Extract.Async.cs
public static System.Threading.Tasks.Task ExtractToDirectoryAsync(this System.IO.Compression.ZipArchive source, string destinationDirectoryName, System.IO.Compression.ZipExtractionOptions options, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Compression.ZipArchive * string * System.IO.Compression.ZipExtractionOptions * System.Threading.CancellationToken -> System.Threading.Tasks.Task
<Extension()>
Public Function ExtractToDirectoryAsync (source As ZipArchive, destinationDirectoryName As String, options As ZipExtractionOptions, Optional cancellationToken As CancellationToken = Nothing) As Task

パラメーター

source
ZipArchive
destinationDirectoryName
String

抽出されたファイルを配置するディレクトリへのパス。 ディレクトリは既に存在できます。 不足しているディレクトリは、エントリを抽出するときに必要に応じて作成されます。

cancellationToken
CancellationToken

返品

注釈

Warning

このメソッドを使用して、信頼されていないアーカイブを抽出することはできません。 信頼されていないアーカイブを安全に抽出するために必要なサイズ制限、エントリ数の制限、またはその他のポリシーは適用されません。 信頼されていないソースからアーカイブを安全に抽出する方法の詳細については、「 zip アーカイブと tar アーカイブを使用するためのベスト プラクティス」を参照してください。

destinationDirectoryNameで指定されたディレクトリは既に存在できます。 このメソッドは、エントリを抽出するときに必要に応じて、宛先ディレクトリ、その不足している親ディレクトリ、およびサブディレクトリを作成します。 アーカイブが空の場合、このメソッドは宛先ディレクトリを作成しません。

抽出された各ファイルは、ソース エントリがアーカイブのルートに対して持っているのと同じ相対パスを destinationDirectoryName します。

destinationDirectoryName パラメーターは、相対パスと絶対パスを受け入れます。 相対パスは、現在の作業ディレクトリに対する相対パスとして解釈されます。

抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。

OverwriteFilesをtrueに設定して、既存のファイルを上書きします。 既定値は false であり、抽出するファイルが既に存在する場合、抽出によって IOException がスローされます。

Passwordを使用して、暗号化されたエントリのパスワードを指定します。

EntryNameEncoding は、このオーバーロードでは使用されません。 エントリ名とコメントは、 source アーカイブを開いたときに指定されたエンコードを使用してデコードされます。

アーカイブ内のシンボリック リンクは、シンボリック リンクとして再作成されません。 destinationDirectoryNameまたはその親ディレクトリのいずれかが既存のジャンクションまたはシンボリック リンクである場合、リンクがフォローされ、最終的なターゲット フォルダーへの書き込みが抽出されます。

非同期抽出中に発生する例外は、返されたタスクに格納され、タスクが待機しているときにスローされます。

適用対象