Path.GetDirectoryName Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Ü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
- Formate von Dateipfaden unter Windows-Systemen
- Datei- und Stream-E/A
- How to: Lesen von Text aus einer Datei
- How to: Schreiben von Text in eine Datei
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 path
oder 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.