Path.GetDirectoryName Método

Definição

Sobrecargas

GetDirectoryName(String)

Retorna as informações de diretório para a caminho especificado.

GetDirectoryName(ReadOnlySpan<Char>)

Retorna as informações de diretório para o caminho especificado representado por um intervalo de caracteres.

GetDirectoryName(String)

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

Retorna as informações de diretório para a 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 arquivo ou diretório.

Retornos

Informações de diretório para path ou null, se path denotar um diretório raiz ou for nulo. Retornará Empty se path não contiver informações de diretório.

Exceções

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

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

Observação: no .NET para aplicativos da Windows Store ou na Biblioteca de Classes Portátil, capture a exceção de classe base, IOException, em vez disso.

Exemplos

O exemplo a seguir demonstra o uso do GetDirectoryName método em uma plataforma de área de trabalho baseada no Windows.

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

Comentários

Na maioria dos casos, a cadeia de caracteres retornada por esse método consiste em todos os caracteres no caminho até, mas não incluindo, os últimos caracteres separadores de diretório. Um caractere separador de diretório pode ser DirectorySeparatorChar ou AltDirectorySeparatorChar. Se o caminho consistir em um diretório raiz, como "c:\", null será retornado.

Esse método não dá suporte a caminhos usando "file:".

Como o caminho retornado não inclui os caracteres separadores do último diretório, passar o caminho retornado de volta para o GetDirectoryName método trunca um nível de pasta por chamada subsequente no caminho do resultado. Por exemplo, passar o caminho "C:\Directory\SubDirectory\test.txt" para GetDirectoryName retorna "C:\Directory\SubDirectory". Passar esse caminho, "C:\Directory\SubDirectory", para GetDirectoryName retorna "C:\Directory".

Para obter uma lista de tarefas comuns de E/S, consulte Tarefas comuns de E/S.

Confira também

Aplica-se a

GetDirectoryName(ReadOnlySpan<Char>)

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

Retorna as informações de diretório para o caminho especificado representado por um intervalo 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 do qual recuperar as informações de diretório.

Retornos

Informações de diretório para pathou um intervalo vazio se path for null, um intervalo vazio ou uma raiz (como \, C:ou \\server\share).

Comentários

Ao contrário da sobrecarga de cadeia de caracteres, esse método não normaliza separadores de diretório.

Confira também

Aplica-se a