Path.GetDirectoryName メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オーバーロード
GetDirectoryName(String) |
指定したパスのディレクトリ情報を返します。 |
GetDirectoryName(ReadOnlySpan<Char>) |
文字範囲で表された、指定されたパスのディレクトリ情報を返します。 |
GetDirectoryName(String)
- ソース:
- Path.cs
- ソース:
- Path.cs
- ソース:
- Path.cs
指定したパスのディレクトリ情報を返します。
public:
static System::String ^ GetDirectoryName(System::String ^ path);
public static string GetDirectoryName (string path);
public static string? GetDirectoryName (string? path);
static member GetDirectoryName : string -> string
Public Shared Function GetDirectoryName (path As String) As String
パラメーター
- path
- String
ファイルまたはディレクトリのパス。
戻り値
path
のディレクトリ情報。path
がルート ディレクトリを示しているか null である場合は null
。
path
にディレクトリ情報が含まれていない場合は、Empty を返します。
例外
2.1 より前のバージョンの .NET Framework と .NET Core: パラメーターに path
無効な文字が含まれているか、空であるか、空白だけが含まれています。
path
パラメーターは、システムで定義された最大長を超えています。
注: .NET for Windows ストア アプリ または ポータブル クラス ライブラリでは、代わりに基底クラスの例外 IOExceptionをキャッチします。
例
次の例では、Windows ベースのデスクトップ プラットフォームで メソッドを使用 GetDirectoryName
する方法を示します。
String^ filePath = "C:\\MyDir\\MySubDir\\myfile.ext";
String^ directoryName;
int i = 0;
while (filePath != nullptr)
{
directoryName = Path::GetDirectoryName(filePath);
Console::WriteLine("GetDirectoryName('{0}') returns '{1}'",
filePath, directoryName);
filePath = directoryName;
if (i == 1)
{
filePath = directoryName + "\\"; // this will preserve the previous path
}
i++;
}
/*
This code produces the following output:
GetDirectoryName('C:\MyDir\MySubDir\myfile.ext') returns 'C:\MyDir\MySubDir'
GetDirectoryName('C:\MyDir\MySubDir') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir\') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir') returns 'C:\'
GetDirectoryName('C:\') returns ''
*/
string filePath = @"C:\MyDir\MySubDir\myfile.ext";
string directoryName;
int i = 0;
while (filePath != null)
{
directoryName = Path.GetDirectoryName(filePath);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'",
filePath, directoryName);
filePath = directoryName;
if (i == 1)
{
filePath = directoryName + @"\"; // this will preserve the previous path
}
i++;
}
/*
This code produces the following output:
GetDirectoryName('C:\MyDir\MySubDir\myfile.ext') returns 'C:\MyDir\MySubDir'
GetDirectoryName('C:\MyDir\MySubDir') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir\') returns 'C:\MyDir'
GetDirectoryName('C:\MyDir') returns 'C:\'
GetDirectoryName('C:\') returns ''
*/
Dim filepath As String = "C:\MyDir\MySubDir\myfile.ext"
Dim directoryName As String
Dim i As Integer = 0
While filepath <> Nothing
directoryName = Path.GetDirectoryName(filepath)
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", _
filepath, directoryName)
filepath = directoryName
If i = 1 Then
filepath = directoryName + "\" ' this will preserve the previous path
End If
i = i + 1
End While
'This code produces the following output:
'
' GetDirectoryName('C:\MyDir\MySubDir\myfile.ext') returns 'C:\MyDir\MySubDir'
' GetDirectoryName('C:\MyDir\MySubDir') returns 'C:\MyDir'
' GetDirectoryName('C:\MyDir\') returns 'C:\MyDir'
' GetDirectoryName('C:\MyDir') returns 'C:\'
' GetDirectoryName('C:\') returns ''
注釈
ほとんどの場合、このメソッドによって返される文字列は、最後のディレクトリ区切り文字までのパス内のすべての文字で構成されますが、最後のディレクトリ区切り文字は含まれません。 ディレクトリ区切り文字には、 または AltDirectorySeparatorCharのいずれかをDirectorySeparatorChar指定できます。 パスがルート ディレクトリ ("c:\" など) で構成されている場合は、 null
が返されます。
このメソッドでは、"file:" を使用するパスはサポートされていません。
返されるパスには最後のディレクトリ区切り文字が含まれていないため、返されたパスを メソッドに GetDirectoryName 渡すと、結果パスの後続の呼び出しごとに 1 つのフォルダー レベルが切り捨てられます。 たとえば、パス "C:\Directory\SubDirectory\test.txt" を に GetDirectoryName 渡すと、"C:\Directory\SubDirectory" が返されます。 そのパス "C:\Directory\SubDirectory" を に GetDirectoryName 渡すと、"C:\Directory" が返されます。
一般的な I/O タスクの一覧については、「 一般的な I/O タスク」を参照してください。
こちらもご覧ください
適用対象
GetDirectoryName(ReadOnlySpan<Char>)
- ソース:
- Path.cs
- ソース:
- Path.cs
- ソース:
- Path.cs
文字範囲で表された、指定されたパスのディレクトリ情報を返します。
public:
static ReadOnlySpan<char> GetDirectoryName(ReadOnlySpan<char> path);
public static ReadOnlySpan<char> GetDirectoryName (ReadOnlySpan<char> path);
static member GetDirectoryName : ReadOnlySpan<char> -> ReadOnlySpan<char>
Public Shared Function GetDirectoryName (path As ReadOnlySpan(Of Char)) As ReadOnlySpan(Of Char)
パラメーター
- path
- ReadOnlySpan<Char>
ディレクトリ情報を取得するパス。
戻り値
の path
ディレクトリ情報。、 が の場合 path
は null
空のスパン、空のスパン、またはルート (\、C:、\\server\share など)。
注釈
文字列オーバーロードとは異なり、このメソッドはディレクトリ区切り記号を正規化しません。
こちらもご覧ください
適用対象
.NET