Path.GetDirectoryName メソッド

定義

オーバーロード

名前 説明
GetDirectoryName(String)

指定したパスのディレクトリ情報を返します。

GetDirectoryName(ReadOnlySpan<Char>)

文字スパンで表される指定したパスのディレクトリ情報を返します。

GetDirectoryName(String)

ソース:
Path.cs
ソース:
Path.cs
ソース:
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のディレクトリ情報。ルート ディレクトリまたは null path示す場合はnullpathにディレクトリ情報が含まれていない場合は、Emptyを返します。

例外

.NET Framework および .NET Core バージョンが 2.1 より前の場合: path パラメーターに無効な文字が含まれているか、空であるか、空白のみが含まれています。

path パラメーターは、システム定義の最大長を超えています。

次の例では、Windows ベースのデスクトップ プラットフォームで GetDirectoryName メソッドを使用する方法を示します。

string? filePath = @"C:\MyDir\MySubDir\myfile.ext";
string? directoryName;
int i = 0;

while (filePath != null)
{
    directoryName = Path.GetDirectoryName(filePath);
    Console.WriteLine($"GetDirectoryName(\"{filePath}\") returns {directoryName ?? "NULL"}");

    filePath = (i == 1)
        ? directoryName + @"\"  // this will preserve the previous path
        : directoryName;

    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 NULL
*/
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 ''

注釈

ほとんどの場合、このメソッドによって返される文字列は、最後のディレクトリ区切り文字までのパス (含まない) 内のすべての文字で構成されます。 ディレクトリ区切り文字には、 DirectorySeparatorChar または AltDirectorySeparatorCharを指定できます。 パスがルート ディレクトリ ("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
ソース:
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のディレクトリ情報、またはpathnullされている場合は空のスパン、空のスパン、またはルート (\、C:、\server\share など)。

注釈

文字列オーバーロードとは異なり、このメソッドはディレクトリ区切り記号を正規化しません。

こちらもご覧ください

適用対象