Path.GetDirectoryName Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- Formatos de ruta de acceso de archivo en los sistemas Windows
- E/S de archivos y secuencias
- Cómo: Leer texto de un archivo
- Cómo: Escribir texto en un archivo
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.