Language

ZipFile.ExtractToDirectoryAsync メソッド

定義

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

オーバーロード

Name 説明
ExtractToDirectoryAsync(String, String, Encoding, Boolean, CancellationToken)

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

指定したディレクトリは既に存在できます。 不足しているディレクトリは、エントリを抽出するときに必要に応じて作成されます。

アーカイブの抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 各エントリは、抽出されたファイルが、エントリがアーカイブに対して持っているのと同じ相対パスを destinationDirectoryName に持つように抽出されます。 パスには、相対パスまたは絶対パス情報を指定できます。 相対パス情報は、現在の作業ディレクトリに対する相対パスとして解釈されます。 アーカイブするファイルに無効な最終変更時刻がある場合は、zip タイムスタンプ形式 (1980 年 1 月 1 日午前 0 時) で表される最初の日時が使用されます。

ExtractToDirectoryAsync(Stream, String, Encoding, Boolean, CancellationToken)

指定したストリームに格納されている zip アーカイブからすべてのファイルを非同期的に抽出し、ファイル システム上の指定された宛先ディレクトリに配置し、エントリ名に指定した文字エンコーディングを使用し、必要に応じて、転送先ディレクトリ内のファイルを上書きするかどうかを選択できます。

ExtractToDirectoryAsync(String, String, Encoding, CancellationToken)

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

ExtractToDirectoryAsync(String, String, ZipExtractionOptions, CancellationToken)
ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

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

ExtractToDirectoryAsync(Stream, String, ZipExtractionOptions, CancellationToken)
ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

指定したストリームに格納されている zip アーカイブからすべてのファイルを非同期に抽出し、ファイル システム上の指定された宛先ディレクトリに配置します。必要に応じて、転送先ディレクトリ内のファイルを上書きするかどうかを選択できます。

ExtractToDirectoryAsync(String, String, CancellationToken)

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

ExtractToDirectoryAsync(Stream, String, CancellationToken)

指定したストリームに格納されている zip アーカイブからすべてのファイルを非同期に抽出し、ファイル システム上の指定した宛先ディレクトリに配置します。

ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken)

指定したストリームに格納されている zip アーカイブからすべてのファイルを非同期に抽出し、ファイル システム上の指定された宛先ディレクトリに配置し、エントリ名に指定した文字エンコードを使用します。

ExtractToDirectoryAsync(String, String, Encoding, Boolean, CancellationToken)

ソース:
ZipFile.Extract.Async.cs
ソース:
ZipFile.Extract.Async.cs

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

指定したディレクトリは既に存在できます。 不足しているディレクトリは、エントリを抽出するときに必要に応じて作成されます。

アーカイブの抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 各エントリは、抽出されたファイルが、エントリがアーカイブに対して持っているのと同じ相対パスを destinationDirectoryName に持つように抽出されます。 パスには、相対パスまたは絶対パス情報を指定できます。 相対パス情報は、現在の作業ディレクトリに対する相対パスとして解釈されます。 アーカイブするファイルに無効な最終変更時刻がある場合は、zip タイムスタンプ形式 (1980 年 1 月 1 日午前 0 時) で表される最初の日時が使用されます。

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Text.Encoding * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

パラメーター

sourceArchiveFileName
String

抽出するファイル システム上のアーカイブへのパス。

destinationDirectoryName
String

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

entryNameEncoding
Encoding

この ZipArchive でエントリ名とコメントを読み書きするときに使用するエンコード。

overwriteFiles
Boolean

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

cancellationToken
CancellationToken

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

返品

例外

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

sourceArchiveFileName または destinationDirectoryName が null。

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

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

I/O エラーが発生しました。

-又は-

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

-又は-

アーカイブ エントリを抽出すると、(たとえば、親ディレクトリ アクセサーが原因で) コピー先ディレクトリの外部にあるファイルの宛先になります。

-又は-

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

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

sourceArchiveFileName または destinationDirectoryName が無効な形式です。

sourceArchiveFileName が見つかりませんでした。

sourceArchiveFileNameで指定されたアーカイブが有効な ZipArchive ではありません。

-又は-

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

-又は-

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

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

注釈

Warning

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

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

entryNameEncodingがnull以外の値に設定されている場合、エントリ名とコメントは次の規則に従ってデコードされます。

  • ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されていないエントリの場合は、指定した entryNameEncoding を使用してエントリ名とコメントをデコードします。
  • ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されているエントリの場合は、UTF-8 (Encoding.UTF8) を使用してエントリ名とコメントをデコードします。

entryNameEncodingが null に設定されている場合、エントリ名とコメントは次の規則に従ってデコードされます。

  • ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されていないエントリの場合は、現在のシステムの既定のコード ページ (Encoding.Default) を使用してエントリ名とコメントをデコードします。
  • ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されているエントリの場合は、UTF-8 (Encoding.UTF8) を使用してエントリ名とコメントをデコードします。

UTF-8 以外の Unicode エンコードは entryNameEncodingに使用できません。それ以外の場合は、 ArgumentException がスローされます。

適用対象

ExtractToDirectoryAsync(Stream, String, Encoding, Boolean, CancellationToken)

ソース:
ZipFile.Create.cs
ソース:
ZipFile.Extract.Async.cs

指定したストリームに格納されている zip アーカイブからすべてのファイルを非同期的に抽出し、ファイル システム上の指定された宛先ディレクトリに配置し、エントリ名に指定した文字エンコーディングを使用し、必要に応じて、転送先ディレクトリ内のファイルを上書きするかどうかを選択できます。

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Text.Encoding * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

パラメーター

source
Stream

zip アーカイブの抽出元となるストリーム。

destinationDirectoryName
String

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

entryNameEncoding
Encoding

このアーカイブ内のエントリ名とコメントを読み書きするときに使用するエンコード。 このパラメーターの値は、エントリ名またはコメントに UTF-8 エンコードをサポートしていない zip アーカイブ ツールおよびライブラリとの相互運用性にエンコードが必要な場合にのみ指定します。

overwriteFiles
Boolean

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

cancellationToken
CancellationToken

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

返品

例外

destinationDirectoryName が Empty、空白のみを含む、または少なくとも 1 つの無効な文字が含まれています。

-又は-

entryNameEncoding は UTF-8 以外の Unicode エンコードに設定されています。

destinationDirectoryName または source が null。

destinationDirectoryNameで指定されたパスが、システム定義の最大長を超えています。

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

アーカイブ内のエントリの名前が Emptyされているか、空白のみを含むか、少なくとも 1 つの無効な文字が含まれています。

-又は-

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

-又は-

overwriteFiles は false であり、抽出するアーカイブ エントリは、既に抽出されているエントリまたは destinationDirectoryName に存在するエントリと同じ名前を持ちます。

呼び出し元には、アーカイブまたは宛先ディレクトリにアクセスするために必要なアクセス許可がありません。

destinationDirectoryName には無効な形式が含まれています。

source ストリームに含まれるアーカイブが有効な zip アーカイブではありません。

-又は-

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

-又は-

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

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

注釈

Warning

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

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

destinationDirectoryName内のパスまたは source パラメーターに含まれる zip アーカイブ内のファイルの検証に関連する例外は、抽出前にスローされます。 それ以外の場合、抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 抽出された各ファイルには、ソース エントリがアーカイブのルートに対して持っているのと同じ destinationDirectoryName で指定されたディレクトリへの相対パスがあります。

アーカイブするファイルに無効な最終変更時刻がある場合は、zip タイムスタンプ形式で表される最初の日付と時刻 (1980 年 1 月 1 日の午前 0 時) が使用されます。

適用対象

ExtractToDirectoryAsync(String, String, Encoding, CancellationToken)

ソース:
ZipFile.Extract.Async.cs
ソース:
ZipFile.Extract.Async.cs

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

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task

パラメーター

sourceArchiveFileName
String

抽出するファイル システム上のアーカイブへのパス。

destinationDirectoryName
String

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

entryNameEncoding
Encoding

この ZipArchive でエントリ名とコメントを読み書きするときに使用するエンコード。

cancellationToken
CancellationToken

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

返品

例外

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

sourceArchiveFileName または destinationDirectoryName が null。

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

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

I/O エラーが発生しました。

-又は-

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

-又は-

アーカイブ エントリを抽出すると、(たとえば、親ディレクトリ アクセサーが原因で) コピー先ディレクトリの外部にあるファイルの宛先になります。

-又は-

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

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

sourceArchiveFileName または destinationDirectoryName が無効な形式です。

sourceArchiveFileName が見つかりませんでした。

sourceArchiveFileNameで指定されたアーカイブが有効な ZipArchive ではありません。

-又は-

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

-又は-

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

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

注釈

Warning

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

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

アーカイブの抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままです。 各エントリは、抽出されたファイルの destinationDirectoryName への相対パスが、エントリがアーカイブに対して持つパスと同じになるように抽出されます。 パスは相対パスまたは絶対パス情報を受け入れます。相対パスは、現在の作業ディレクトリに対する相対パスとして解釈されます。

アーカイブするファイルに無効な最終変更時刻がある場合は、zip タイムスタンプ形式で表される最初の日付と時刻 (1980 年 1 月 1 日の午前 0 時) が使用されます。

entryNameEncodingがnull以外の値に設定されている場合、エントリ名とコメントは次の規則に従ってデコードされます。

  • ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されていないエントリの場合は、指定した entryNameEncoding を使用してエントリ名とコメントをデコードします。
  • ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されているエントリの場合は、UTF-8 (Encoding.UTF8) を使用してエントリ名とコメントをデコードします。

entryNameEncodingが null に設定されている場合、エントリ名とコメントは次の規則に従ってデコードされます。

  • ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されていないエントリの場合は、現在のシステムの既定のコード ページ (Encoding.Default) を使用してエントリ名とコメントをデコードします。
  • ローカル ファイル ヘッダーの汎用ビット フラグの言語エンコード フラグ (EFS) が設定されているエントリの場合は、UTF-8 (Encoding.UTF8) を使用してエントリ名とコメントをデコードします。

UTF-8 以外の Unicode エンコードは entryNameEncodingに使用できません。それ以外の場合は、 ArgumentException がスローされます。

適用対象

ExtractToDirectoryAsync(String, String, ZipExtractionOptions, CancellationToken)

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

パラメーター

sourceArchiveFileName
String
destinationDirectoryName
String

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

cancellationToken
CancellationToken

返品

注釈

Warning

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

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

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

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

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

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

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

EntryNameEncodingを使用して、アーカイブを開くときのエントリ名とコメントのエンコードを指定します。 このエンコードの使用方法の詳細については、 ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding)を参照してください。

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

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

適用対象

ExtractToDirectoryAsync(String, String, Boolean, CancellationToken)

ソース:
ZipFile.Extract.Async.cs
ソース:
ZipFile.Extract.Async.cs

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

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, bool overwriteFiles, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * bool * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean, Optional cancellationToken As CancellationToken = Nothing) As Task

パラメーター

sourceArchiveFileName
String

抽出するファイル システム上のアーカイブへのパス。

destinationDirectoryName
String

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

overwriteFiles
Boolean

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

cancellationToken
CancellationToken

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

返品

例外

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

sourceArchiveFileName または destinationDirectoryName が null。

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

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

I/O エラーが発生しました。

-又は-

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

-又は-

アーカイブ エントリを抽出すると、(たとえば、親ディレクトリ アクセサーが原因で) コピー先ディレクトリの外部にあるファイルの宛先になります。

-又は-

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

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

sourceArchiveFileName または destinationDirectoryName が無効な形式です。

sourceArchiveFileName が見つかりませんでした。

sourceArchiveFileName 有効な ZipArchive ではありません。

-又は-

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

-又は-

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

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

注釈

Warning

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

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

アーカイブの抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままです。 各エントリは、抽出されたファイルの destinationDirectoryName への相対パスが、エントリがアーカイブに対して持つパスと同じになるように抽出されます。 パスは相対パスまたは絶対パス情報を受け入れます。相対パスは、現在の作業ディレクトリに対する相対パスとして解釈されます。

アーカイブするファイルに無効な最終変更時刻がある場合は、zip タイムスタンプ形式で表される最初の日付と時刻 (1980 年 1 月 1 日の午前 0 時) が使用されます。

適用対象

ExtractToDirectoryAsync(Stream, String, ZipExtractionOptions, CancellationToken)

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

パラメーター

source
Stream
destinationDirectoryName
String

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

cancellationToken
CancellationToken

返品

注釈

Warning

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

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

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

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

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

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

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

EntryNameEncodingを使用して、アーカイブを開くときのエントリ名とコメントのエンコードを指定します。 このエンコードの使用方法の詳細については、 ZipArchive(Stream, ZipArchiveMode, Boolean, Encoding)を参照してください。

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

source ストリームは抽出後も開いたままです。

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

適用対象

ExtractToDirectoryAsync(Stream, String, Boolean, CancellationToken)

ソース:
ZipFile.Extract.Async.cs
ソース:
ZipFile.Extract.Async.cs

指定したストリームに格納されている zip アーカイブからすべてのファイルを非同期に抽出し、ファイル システム上の指定された宛先ディレクトリに配置します。必要に応じて、転送先ディレクトリ内のファイルを上書きするかどうかを選択できます。

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

パラメーター

source
Stream

zip アーカイブの抽出元となるストリーム。

destinationDirectoryName
String

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

overwriteFiles
Boolean

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

cancellationToken
CancellationToken

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

返品

例外

destinationDirectoryName が Empty、空白のみを含む、または少なくとも 1 つの無効な文字が含まれています。

destinationDirectoryName または source が null。

destinationDirectoryNameで指定されたパスが、システム定義の最大長を超えています。

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

アーカイブ内のエントリの名前が Emptyされているか、空白のみを含むか、少なくとも 1 つの無効な文字が含まれています。

-又は-

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

-又は-

overwriteFiles は false であり、抽出するアーカイブ エントリは、既に抽出されているエントリまたは destinationDirectoryName に存在するエントリと同じ名前を持ちます。

呼び出し元には、アーカイブまたは宛先ディレクトリにアクセスするために必要なアクセス許可がありません。

destinationDirectoryName には無効な形式が含まれています。

source ストリームに含まれるアーカイブが有効な zip アーカイブではありません。

-又は-

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

-又は-

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

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

注釈

Warning

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

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

destinationDirectoryName内のパスまたは source パラメーターに含まれる zip アーカイブ内のファイルの検証に関連する例外は、抽出前にスローされます。 それ以外の場合、抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 抽出された各ファイルには、ソース エントリがアーカイブのルートに対して持っているのと同じ destinationDirectoryName で指定されたディレクトリへの相対パスがあります。

アーカイブするファイルに無効な最終変更時刻がある場合は、zip タイムスタンプ形式で表される最初の日付と時刻 (1980 年 1 月 1 日の午前 0 時) が使用されます。

適用対象

ExtractToDirectoryAsync(String, String, CancellationToken)

ソース:
ZipFile.Extract.Async.cs
ソース:
ZipFile.Extract.Async.cs

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

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(string sourceArchiveFileName, string destinationDirectoryName, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : string * string * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (sourceArchiveFileName As String, destinationDirectoryName As String, Optional cancellationToken As CancellationToken = Nothing) As Task

パラメーター

sourceArchiveFileName
String

抽出するファイル システム上のアーカイブへのパス。

destinationDirectoryName
String

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

cancellationToken
CancellationToken

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

返品

例外

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

sourceArchiveFileName または destinationDirectoryName が null。

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

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

I/O エラーが発生しました。

-又は-

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

-又は-

アーカイブ エントリを抽出すると、(たとえば、親ディレクトリ アクセサーが原因で) コピー先ディレクトリの外部にあるファイルの宛先になります。

-又は-

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

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

sourceArchiveFileName または destinationDirectoryName が無効な形式です。

sourceArchiveFileName が見つかりませんでした。

sourceArchiveFileNameで指定されたアーカイブが有効な ZipArchive ではありません。

-又は-

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

-又は-

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

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

注釈

Warning

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

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

アーカイブの抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままです。 各エントリは、抽出されたファイルの destinationDirectoryName への相対パスが、エントリがアーカイブに対して持つパスと同じになるように抽出されます。 パスは相対パスまたは絶対パス情報を受け入れます。相対パスは、現在の作業ディレクトリに対する相対パスとして解釈されます。

アーカイブするファイルに無効な最終変更時刻がある場合は、zip タイムスタンプ形式で表される最初の日付と時刻 (1980 年 1 月 1 日の午前 0 時) が使用されます。

適用対象

ExtractToDirectoryAsync(Stream, String, CancellationToken)

ソース:
ZipFile.Extract.Async.cs
ソース:
ZipFile.Extract.Async.cs

指定したストリームに格納されている zip アーカイブからすべてのファイルを非同期に抽出し、ファイル システム上の指定した宛先ディレクトリに配置します。

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

パラメーター

source
Stream

zip アーカイブの抽出元となるストリーム。

destinationDirectoryName
String

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

cancellationToken
CancellationToken

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

返品

例外

destinationDirectoryName が Empty、空白のみを含む、または少なくとも 1 つの無効な文字が含まれています。

destinationDirectoryName または source が null。

destinationDirectoryNameで指定されたパスが、システム定義の最大長を超えています。

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

アーカイブ内のエントリの名前が Emptyされているか、空白のみを含むか、少なくとも 1 つの無効な文字が含まれています。

-又は-

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

-又は-

抽出するアーカイブ エントリの名前は、既に抽出されているか、 destinationDirectoryNameに存在するエントリと同じです。

呼び出し元には、アーカイブまたは宛先ディレクトリにアクセスするために必要なアクセス許可がありません。

destinationDirectoryName には無効な形式が含まれています。

source ストリームに含まれるアーカイブが有効な zip アーカイブではありません。

-又は-

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

-又は-

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

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

注釈

Warning

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

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

destinationDirectoryName内のパスまたは source パラメーターに含まれる zip アーカイブ内のファイルの検証に関連する例外は、抽出前にスローされます。 それ以外の場合、抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 抽出された各ファイルには、ソース エントリがアーカイブのルートに対して持っているのと同じ destinationDirectoryName で指定されたディレクトリへの相対パスがあります。

アーカイブするファイルに無効な最終変更時刻がある場合は、zip タイムスタンプ形式で表される最初の日付と時刻 (1980 年 1 月 1 日の午前 0 時) が使用されます。

適用対象

ExtractToDirectoryAsync(Stream, String, Encoding, CancellationToken)

ソース:
ZipFile.Extract.Async.cs
ソース:
ZipFile.Extract.Async.cs

指定したストリームに格納されている zip アーカイブからすべてのファイルを非同期に抽出し、ファイル システム上の指定された宛先ディレクトリに配置し、エントリ名に指定した文字エンコードを使用します。

public static System.Threading.Tasks.Task ExtractToDirectoryAsync(System.IO.Stream source, string destinationDirectoryName, System.Text.Encoding? entryNameEncoding, System.Threading.CancellationToken cancellationToken = default);
static member ExtractToDirectoryAsync : System.IO.Stream * string * System.Text.Encoding * System.Threading.CancellationToken -> System.Threading.Tasks.Task
Public Shared Function ExtractToDirectoryAsync (source As Stream, destinationDirectoryName As String, entryNameEncoding As Encoding, Optional cancellationToken As CancellationToken = Nothing) As Task

パラメーター

source
Stream

zip アーカイブの抽出元となるストリーム。

destinationDirectoryName
String

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

entryNameEncoding
Encoding

このアーカイブ内のエントリ名とコメントを読み書きするときに使用するエンコード。 このパラメーターの値は、エントリ名またはコメントに UTF-8 エンコードをサポートしていない zip アーカイブ ツールおよびライブラリとの相互運用性にエンコードが必要な場合にのみ指定します。

cancellationToken
CancellationToken

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

返品

例外

destinationDirectoryName が Empty、空白のみを含む、または少なくとも 1 つの無効な文字が含まれています。

-又は-

entryNameEncoding は UTF-8 以外の Unicode エンコードに設定されています。

destinationDirectoryName または source が null。

destinationDirectoryNameで指定されたパスが、システム定義の最大長を超えています。

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

アーカイブ内のエントリの名前が Emptyされているか、空白のみを含むか、少なくとも 1 つの無効な文字が含まれています。

-又は-

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

-又は-

抽出するアーカイブ エントリの名前は、既に抽出されているか、 destinationDirectoryNameに存在するエントリと同じです。

呼び出し元には、アーカイブまたは宛先ディレクトリにアクセスするために必要なアクセス許可がありません。

destinationDirectoryName には無効な形式が含まれています。

source ストリームに含まれるアーカイブが有効な zip アーカイブではありません。

-又は-

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

-又は-

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

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

注釈

Warning

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

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

destinationDirectoryName内のパスまたは source パラメーターに含まれる zip アーカイブ内のファイルの検証に関連する例外は、抽出前にスローされます。 それ以外の場合、抽出中にエラーが発生した場合、アーカイブは部分的に抽出されたままになります。 抽出された各ファイルには、ソース エントリがアーカイブのルートに対して持っているのと同じ destinationDirectoryName で指定されたディレクトリへの相対パスがあります。

アーカイブするファイルに無効な最終変更時刻がある場合は、zip タイムスタンプ形式で表される最初の日付と時刻 (1980 年 1 月 1 日の午前 0 時) が使用されます。

適用対象