Path.GetDirectoryName Método

Definição

Sobrecargas

Name Description
GetDirectoryName(String)

Devolve a informação do diretório para o caminho especificado.

GetDirectoryName(ReadOnlySpan<Char>)

Devolve a informação do diretório para o caminho especificado representado por um espaço de caracteres.

GetDirectoryName(String)

Origem:
Path.cs
Origem:
Path.cs
Origem:
Path.cs
Origem:
Path.cs
Origem:
Path.cs

Devolve a informação do diretório para o caminho especificado.

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

Parâmetros

path
String

O caminho de um ficheiro ou diretório.

Devoluções

Informação do diretório para path, ou null se path denota um diretório raiz ou for nulo. Retorna Empty se path não contiver informação do diretório.

Exceções

.NET Framework e .NET Core versões anteriores à 2.1: O parâmetro path contém caracteres inválidos, está vazio ou contém apenas espaços em branco.

O path parâmetro é maior do que o comprimento máximo definido pelo sistema.

Nota: Em .NET para aplicações Windows Store ou a Portable Class Library, apanhe a exceção da classe base, IOException, em vez disso.

Exemplos

O exemplo seguinte demonstra o uso do método GetDirectoryName numa plataforma de ambiente de trabalho baseada em Windows.

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 ''

Observações

Na maioria dos casos, a cadeia devolvida por este método consiste em todos os caracteres do caminho até, mas não incluindo, o(s) último(s) carácter(ões) separador(es) do diretório. Um carácter separador de diretórios pode ser ou DirectorySeparatorCharAltDirectorySeparatorChar. Se o caminho consistir num diretório raiz, como "c:\", null é devolvido.

Este método não suporta caminhos usando "file:".

Como o caminho devolvido não inclui o(s) último(s) carácter(ões) separador(es) do diretório, passar o caminho devolvido de volta para o GetDirectoryName método trunca um nível de pasta por cada chamada subsequente no caminho do resultado. Por exemplo, passar o caminho "C:\Directory\SubDirectory\test.txt" para GetDirectoryName retorna "C:\Directory\SubDirectory". Ao passar esse caminho, "C:\Directory\SubDirectory", retorna GetDirectoryName "C:\Directory".

Para uma lista de tarefas comuns de I/O, veja Tarefas comuns de I/O.

Ver também

Aplica-se a

GetDirectoryName(ReadOnlySpan<Char>)

Origem:
Path.cs
Origem:
Path.cs
Origem:
Path.cs
Origem:
Path.cs
Origem:
Path.cs

Devolve a informação do diretório para o caminho especificado representado por um espaço de caracteres.

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)

Parâmetros

path
ReadOnlySpan<Char>

O caminho para recuperar a informação do diretório.

Devoluções

Informação do diretório para path, ou um intervalo vazio se path for null, um intervalo vazio, ou uma raiz (como \, C:, ou \\servidor\partilha).

Observações

Ao contrário da sobrecarga de strings, este método não normaliza separadores de diretórios.

Ver também

Aplica-se a