Compartir a través de


Path.GetDirectoryName Método

Definición

Sobrecargas

GetDirectoryName(String)

Devuelve la información de directorio para la ruta de acceso especificada.

GetDirectoryName(ReadOnlySpan<Char>)

Devuelve la información de directorio para la ruta de acceso especificada representada por un intervalo de caracteres.

GetDirectoryName(String)

Source:
Path.cs
Source:
Path.cs
Source:
Path.cs

Devuelve la información de directorio para la ruta de acceso especificada.

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

Ruta de acceso de un archivo o directorio.

Devoluciones

Información de directorio para path, o null si path denota un directorio raíz o es null. Devuelve Empty si path no contiene información sobre directorios.

Excepciones

Versiones de .NET Framework y .NET Core anteriores a 2.1: el path parámetro contiene caracteres no válidos, está vacío o solo contiene espacios en blanco.

El parámetro path es superior a la longitud máxima definida por el sistema.

Nota: En .NET para aplicaciones de la Tienda Windows o la Biblioteca de clases portable, detecte la excepción de clase base, IOException, en su lugar.

Ejemplos

En el ejemplo siguiente se muestra cómo usar el GetDirectoryName método en una plataforma de escritorio basada en 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 ''

Comentarios

En la mayoría de los casos, la cadena devuelta por este método consta de todos los caracteres de la ruta de acceso hasta, pero no incluidos, los últimos caracteres separadores de directorio. Un carácter separador de directorios puede ser DirectorySeparatorChar o AltDirectorySeparatorChar. Si la ruta de acceso consta de un directorio raíz, como "c:\", null se devuelve.

Este método no admite rutas de acceso mediante "file:".

Dado que la ruta de acceso devuelta no incluye los últimos caracteres separadores de directorio, al pasar la ruta de acceso devuelta al GetDirectoryName método se trunca un nivel de carpeta por cada llamada posterior en la ruta de acceso de resultado. Por ejemplo, al pasar la ruta de acceso "C:\Directory\SubDirectory\test.txt" en GetDirectoryName se devuelve "C:\Directory\SubDirectory". Pasar esa ruta de acceso, "C:\Directory\SubDirectory", en GetDirectoryName devuelve "C:\Directory".

Para obtener una lista de tareas de E/S comunes, consulte Tareas de E/S comunes.

Consulte también

Se aplica a

GetDirectoryName(ReadOnlySpan<Char>)

Source:
Path.cs
Source:
Path.cs
Source:
Path.cs

Devuelve la información de directorio para la ruta de acceso especificada representada por un 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>

Ruta de acceso de la que se recuperará la información de directorio.

Devoluciones

Información de directorio para path, o un intervalo vacío si path es null, un intervalo vacío o una raíz (como \, C:o \\server\share).

Comentarios

A diferencia de la sobrecarga de cadena, este método no normaliza los separadores de directorios.

Consulte también

Se aplica a