Language

TarFile.ExtractToDirectory メソッド

定義

オーバーロード

Name 説明
ExtractToDirectory(Stream, String, Boolean)

tar アーカイブを表すストリームの内容を、指定されたディレクトリに抽出します。

ExtractToDirectory(Stream, String, TarExtractOptions)
ExtractToDirectory(String, String, Boolean)

tar ファイルの内容を指定したディレクトリに抽出します。

ExtractToDirectory(String, String, TarExtractOptions)

ExtractToDirectory(Stream, String, Boolean)

ソース:
TarFile.cs
ソース:
TarFile.cs
ソース:
TarFile.cs
ソース:
TarFile.cs
ソース:
TarFile.cs

tar アーカイブを表すストリームの内容を、指定されたディレクトリに抽出します。

public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : System.IO.Stream * string * bool -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, overwriteFiles As Boolean)

パラメーター

source
Stream

tar アーカイブを含むストリーム。

destinationDirectoryName
String

ファイル システム エントリを抽出する宛先ディレクトリのパス。 .NET 11 以前のバージョンでは、ディレクトリが既に存在している必要があります。 .NET 12 以降のバージョンでは、エントリの抽出時に必要に応じて、不足している宛先ディレクトリと親ディレクトリが作成されます。 空のアーカイブでは、ディレクトリは作成されません。

overwriteFiles
Boolean

true destinationDirectoryName内のファイルとディレクトリを上書きする場合はfalse。上書きを回避し、既存の名前を持つファイルまたはディレクトリが見つかった場合はスローします。

例外

source または destinationDirectoryName が null。

.NET 11 以前のバージョン: destinationDirectoryName ディレクトリが存在しません。

アクセス許可が不十分です。

tar エントリの 1 つを抽出すると、指定した宛先ディレクトリの外部にファイルが生成されます。

-又は-

destinationDirectoryName が空です。

-又は-

source は読み取りをサポートしていません。

.NET 11 以降のバージョンのみ: エントリのチェックサムが無効です。

I/O 例外が発生しました。

注釈

Warning

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

.NET 11 以前のバージョンでは、destinationDirectoryNameで指定されたディレクトリが既に存在している必要があります。 存在しない場合、アーカイブが空の場合でも、このメソッドは DirectoryNotFoundExceptionをスローします。

.NET 12 以降のバージョンでは、移行先ディレクトリは既に存在できます。 エントリが抽出されると、必要に応じて、不足している宛先ディレクトリと親ディレクトリが作成されます。 空のアーカイブでは、ディレクトリは作成されません。

tar アーカイブ内のシンボリック リンクまたはジャンクションにより、指定した destinationDirectoryNameの外部でファイルが抽出された場合、抽出が同じディレクトリ内に残ることを保証するために IOException がスローされます。

destinationDirectoryNameまたはその親ディレクトリのいずれかが既存のジャンクションまたはシンボリック リンクである場合、リンクがフォローされ、抽出によって最終的なターゲット フォルダーに書き込まれます。

BlockDevice、CharacterDevice、またはFifoの種類のファイルは、Unix プラットフォームでのみ抽出できます。

ディスクに BlockDevice または CharacterDevice を抽出するには、昇格が必要です。

適用対象

ExtractToDirectory(Stream, String, TarExtractOptions)

ソース:
TarFile.cs
public:
 static void ExtractToDirectory(System::IO::Stream ^ source, System::String ^ destinationDirectoryName, System::Formats::Tar::TarExtractOptions ^ options);
public static void ExtractToDirectory(System.IO.Stream source, string destinationDirectoryName, System.Formats.Tar.TarExtractOptions options);
static member ExtractToDirectory : System.IO.Stream * string * System.Formats.Tar.TarExtractOptions -> unit
Public Shared Sub ExtractToDirectory (source As Stream, destinationDirectoryName As String, options As TarExtractOptions)

パラメーター

source
Stream
destinationDirectoryName
String

抽出されたファイルを配置するディレクトリへのパス。 .NET 11 以前のバージョンでは、ディレクトリが既に存在している必要があります。 .NET 12 以降のバージョンでは、エントリの抽出時に必要に応じて、不足している宛先ディレクトリと親ディレクトリが作成されます。 空のアーカイブでは、ディレクトリは作成されません。

例外

.NET 11 以前のバージョン: destinationDirectoryName ディレクトリが存在しません。

注釈

Warning

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

.NET 11 以前のバージョンでは、destinationDirectoryNameで指定されたディレクトリが既に存在している必要があります。 存在しない場合、アーカイブが空の場合でも、このメソッドは DirectoryNotFoundExceptionをスローします。

.NET 12 以降のバージョンでは、移行先ディレクトリは既に存在できます。 エントリが抽出されると、必要に応じて、不足している宛先ディレクトリと親ディレクトリが作成されます。 空のアーカイブでは、ディレクトリは作成されません。

相対パスと絶対パスのどちらでも構いません。 相対パスは、現在の作業ディレクトリに対する相対パスとして解釈されます。

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

OverwriteFilesをtrueに設定して、既存のファイルを上書きします。 既定値は false です。 HardLinkModeを使用して、ハード リンク エントリの抽出方法を制御します。

tar アーカイブ内のシンボリック リンクまたはジャンクションにより、指定した destinationDirectoryNameの外部でファイルが抽出された場合、抽出が同じディレクトリ内に残ることを保証するために IOException がスローされます。

destinationDirectoryNameまたはその親ディレクトリのいずれかが既存のジャンクションまたはシンボリック リンクである場合、リンクがフォローされ、抽出によって最終的なターゲット フォルダーに書き込まれます。

BlockDevice、CharacterDevice、またはFifoの種類のファイルは、Unix プラットフォームでのみ抽出できます。

ディスクに BlockDevice または CharacterDevice を抽出するには、昇格が必要です。

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

適用対象

ExtractToDirectory(String, String, Boolean)

ソース:
TarFile.cs
ソース:
TarFile.cs
ソース:
TarFile.cs
ソース:
TarFile.cs
ソース:
TarFile.cs

tar ファイルの内容を指定したディレクトリに抽出します。

public:
 static void ExtractToDirectory(System::String ^ sourceFileName, System::String ^ destinationDirectoryName, bool overwriteFiles);
public static void ExtractToDirectory(string sourceFileName, string destinationDirectoryName, bool overwriteFiles);
static member ExtractToDirectory : string * string * bool -> unit
Public Shared Sub ExtractToDirectory (sourceFileName As String, destinationDirectoryName As String, overwriteFiles As Boolean)

パラメーター

sourceFileName
String

抽出する tar ファイルのパス。

destinationDirectoryName
String

ファイル システム エントリを抽出する宛先ディレクトリのパス。 .NET 11 以前のバージョンでは、ディレクトリが既に存在している必要があります。 .NET 12 以降のバージョンでは、エントリの抽出時に必要に応じて、不足している宛先ディレクトリと親ディレクトリが作成されます。 空のアーカイブでは、ディレクトリは作成されません。

overwriteFiles
Boolean

true destinationDirectoryName内のファイルとディレクトリを上書きする場合はfalse。上書きを回避し、既存の名前を持つファイルまたはディレクトリが見つかった場合はスローします。

例外

sourceFileName または destinationDirectoryName が null。

.NET 11 以前のバージョン: destinationDirectoryName ディレクトリが存在しません。

sourceFileName ファイル パスが見つかりません。

アクセス許可が不十分です。

tar エントリの 1 つを抽出すると、指定した宛先ディレクトリの外部にファイルが生成されます。

-又は-

sourceFileName または destinationDirectoryName が空です。

.NET 11 以降のバージョンのみ: エントリのチェックサムが無効です。

I/O 例外が発生しました。

注釈

Warning

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

.NET 11 以前のバージョンでは、destinationDirectoryNameで指定されたディレクトリが既に存在している必要があります。 存在しない場合、アーカイブが空の場合でも、このメソッドは DirectoryNotFoundExceptionをスローします。

.NET 12 以降のバージョンでは、移行先ディレクトリは既に存在できます。 エントリが抽出されると、必要に応じて、不足している宛先ディレクトリと親ディレクトリが作成されます。 空のアーカイブでは、ディレクトリは作成されません。

tar アーカイブ内のシンボリック リンクまたはジャンクションにより、指定した destinationDirectoryNameの外部でファイルが抽出された場合、抽出が同じディレクトリ内に残ることを保証するために IOException がスローされます。

destinationDirectoryNameまたはその親ディレクトリのいずれかが既存のジャンクションまたはシンボリック リンクである場合、リンクがフォローされ、抽出によって最終的なターゲット フォルダーに書き込まれます。

BlockDevice、CharacterDevice、またはFifoの種類のファイルは、Unix プラットフォームでのみ抽出できます。

ディスクに BlockDevice または CharacterDevice を抽出するには、昇格が必要です。

適用対象

ExtractToDirectory(String, String, TarExtractOptions)

ソース:
TarFile.cs
public:
 static void ExtractToDirectory(System::String ^ sourceFileName, System::String ^ destinationDirectoryName, System::Formats::Tar::TarExtractOptions ^ options);
public static void ExtractToDirectory(string sourceFileName, string destinationDirectoryName, System.Formats.Tar.TarExtractOptions options);
static member ExtractToDirectory : string * string * System.Formats.Tar.TarExtractOptions -> unit
Public Shared Sub ExtractToDirectory (sourceFileName As String, destinationDirectoryName As String, options As TarExtractOptions)

パラメーター

sourceFileName
String
destinationDirectoryName
String

抽出されたファイルを配置するディレクトリへのパス。 .NET 11 以前のバージョンでは、ディレクトリが既に存在している必要があります。 .NET 12 以降のバージョンでは、エントリの抽出時に必要に応じて、不足している宛先ディレクトリと親ディレクトリが作成されます。 空のアーカイブでは、ディレクトリは作成されません。

例外

.NET 11 以前のバージョン: destinationDirectoryName ディレクトリが存在しません。

注釈

Warning

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

.NET 11 以前のバージョンでは、destinationDirectoryNameで指定されたディレクトリが既に存在している必要があります。 存在しない場合、アーカイブが空の場合でも、このメソッドは DirectoryNotFoundExceptionをスローします。

.NET 12 以降のバージョンでは、移行先ディレクトリは既に存在できます。 エントリが抽出されると、必要に応じて、不足している宛先ディレクトリと親ディレクトリが作成されます。 空のアーカイブでは、ディレクトリは作成されません。

相対パスと絶対パスのどちらでも構いません。 相対パスは、現在の作業ディレクトリに対する相対パスとして解釈されます。

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

OverwriteFilesをtrueに設定して、既存のファイルを上書きします。 既定値は false です。 HardLinkModeを使用して、ハード リンク エントリの抽出方法を制御します。

tar アーカイブ内のシンボリック リンクまたはジャンクションにより、指定した destinationDirectoryNameの外部でファイルが抽出された場合、抽出が同じディレクトリ内に残ることを保証するために IOException がスローされます。

destinationDirectoryNameまたはその親ディレクトリのいずれかが既存のジャンクションまたはシンボリック リンクである場合、リンクがフォローされ、抽出によって最終的なターゲット フォルダーに書き込まれます。

BlockDevice、CharacterDevice、またはFifoの種類のファイルは、Unix プラットフォームでのみ抽出できます。

ディスクに BlockDevice または CharacterDevice を抽出するには、昇格が必要です。

適用対象