Freigeben über


Path.GetDirectoryName Methode

Definition

Überlädt

GetDirectoryName(String)

Diese gibt die Verzeichnisinformationen für den angegebenen Pfad zurück.

GetDirectoryName(ReadOnlySpan<Char>)

Gibt die Verzeichnisinformationen für den angegebenen Pfad in Form einer Zeichenspanne zurück.

GetDirectoryName(String)

Quelle:
Path.cs
Quelle:
Path.cs
Quelle:
Path.cs

Diese gibt die Verzeichnisinformationen für den angegebenen Pfad zurück.

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

Parameter

path
String

Der Pfad einer Datei oder eines Verzeichnisses.

Gibt zurück

Verzeichnisinformationen für path oder null, wenn path ein Stammverzeichnis bezeichnet oder NULL ist. Gibt Empty zurück, wenn path keine Verzeichnisinformationen enthält.

Ausnahmen

.NET Framework- und .NET Core-Versionen, die älter als 2.1 sind: Der path Parameter enthält ungültige Zeichen, ist leer oder enthält nur Leerzeichen.

Der path-Parameter überschreitet die vom System definierte Maximallänge.

Hinweis: In .NET für Windows Store-Apps oder der portablen Klassenbibliothek sollten Sie stattdessen die Basisklassen-Ausnahme IOExceptionabfangen.

Beispiele

Im folgenden Beispiel wird die Verwendung der GetDirectoryName -Methode auf einer Windows-basierten Desktopplattform veranschaulicht.

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

Hinweise

In den meisten Fällen besteht die von dieser Methode zurückgegebene Zeichenfolge aus allen Zeichen im Pfad bis zum letzten Verzeichnistrennzeichen, jedoch nicht einschließlich der letzten Verzeichnistrennzeichen. Ein Verzeichnistrennzeichen kann entweder DirectorySeparatorChar oder AltDirectorySeparatorCharsein. Wenn der Pfad aus einem Stammverzeichnis besteht, z. B. "c:\", null wird zurückgegeben.

Diese Methode unterstützt keine Pfade mit "file:".

Da der zurückgegebene Pfad die letzten Verzeichnistrennzeichen nicht enthält, schneidet das Übergeben des zurückgegebenen Pfads an die GetDirectoryName -Methode eine Ordnerebene pro nachfolgendem Aufruf des Ergebnispfads ab. Wenn Sie beispielsweise den Pfad "C:\Directory\SubDirectory\test.txt" in GetDirectoryName übergeben, wird "C:\Directory\SubDirectory" zurückgegeben. Durch Übergeben des Pfads "C:\Directory\SubDirectory" in wird GetDirectoryName "C:\Directory" zurückgegeben.

Eine Liste der allgemeinen E/A-Aufgaben finden Sie unter Allgemeine E/A-Aufgaben.

Weitere Informationen

Gilt für:

GetDirectoryName(ReadOnlySpan<Char>)

Quelle:
Path.cs
Quelle:
Path.cs
Quelle:
Path.cs

Gibt die Verzeichnisinformationen für den angegebenen Pfad in Form einer Zeichenspanne zurück.

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)

Parameter

path
ReadOnlySpan<Char>

Der Pfad, aus dem die Verzeichnisinformationen abgerufen werden sollen.

Gibt zurück

Verzeichnisinformationen für pathoder eine leere Spanne, wenn path , eine leere Spanne oder ein Stamm (z. B. \, C:oder \\server\share) ist null.

Hinweise

Im Gegensatz zur Zeichenfolgenüberladung normalisiert diese Methode keine Verzeichnistrennzeichen.

Weitere Informationen

Gilt für: