Path.GetDirectoryName 메서드

정의

오버로드

Name Description
GetDirectoryName(String)

지정된 경로에 대한 디렉터리 정보를 반환합니다.

GetDirectoryName(ReadOnlySpan<Char>)

문자 범위가 나타내는 지정된 경로에 대한 디렉터리 정보를 반환합니다.

GetDirectoryName(String)

Source:
Path.cs
Source:
Path.cs
Source:
Path.cs
Source:
Path.cs
Source:
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

파일 또는 디렉터리의 경로입니다.

반품

또는 루트 디렉터리를 나타내는지 null null 인지 path 에 대한 path디렉터리 정보입니다. 디렉터리 정보가 없는 경우 path 반환 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 ''

설명

대부분의 경우 이 메서드에서 반환된 문자열은 마지막 디렉터리 구분 문자까지의 경로에 있는 모든 문자(포함 안 됨)로 구성됩니다. 디렉터리 구분 기호 문자는 둘 중 하나 DirectorySeparatorCharAltDirectorySeparatorChar수 있습니다. 경로가 루트 디렉터리(예: "c:\" null )로 구성된 경우 반환됩니다.

이 메서드는 "file:"을 사용하는 경로를 지원하지 않습니다.

반환된 경로에 마지막 디렉터리 구분 문자가 포함되지 않으므로 반환된 경로를 메서드로 GetDirectoryName 다시 전달하면 결과 경로에 대한 후속 호출당 하나의 폴더 수준이 잘립니다. 예를 들어 경로 "C:\Directory\SubDirectory\test.txt" GetDirectoryName 를 "C:\Directory\SubDirectory"로 전달합니다. "C:\Directory\SubDirectory" 경로를 "C:\Directory"로 GetDirectoryName 전달합니다.

일반적인 I/O 작업 목록은 일반적인 I/O 작업을 참조하세요.

추가 정보

적용 대상

GetDirectoryName(ReadOnlySpan<Char>)

Source:
Path.cs
Source:
Path.cs
Source:
Path.cs
Source:
Path.cs
Source:
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), 빈 범위 또는 루트(예: \, C:또는 \\server\share)에 대한 path디렉터리 정보입니다null.

설명

문자열 오버로드와 달리 이 메서드는 디렉터리 구분 기호를 정규화하지 않습니다.

추가 정보

적용 대상