Freigeben über


Path.GetDirectoryName-Methode

Gibt die Verzeichnisinformationen für die angegebene Pfadzeichenfolge zurück.

Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared Function GetDirectoryName ( _
    path As String _
) As String
'Usage
Dim path As String
Dim returnValue As String

returnValue = Path.GetDirectoryName(path)
public static string GetDirectoryName (
    string path
)
public:
static String^ GetDirectoryName (
    String^ path
)
public static String GetDirectoryName (
    String path
)
public static function GetDirectoryName (
    path : String
) : String

Parameter

  • path
    Der Pfad einer Datei oder eines Verzeichnisses.

Rückgabewert

Eine String, die Verzeichnisinformationen für path enthält, oder NULL (Nothing in Visual Basic), wenn path ein Stammverzeichnis bezeichnet, eine leere Zeichenfolge ("") oder NULL (Nothing in Visual Basic) ist. Gibt String.Empty zurück, wenn path keine Verzeichnisinformationen enthält.

Ausnahmen

Ausnahmetyp Bedingung

ArgumentException

Der path-Parameter enthält ungültige Zeichen, ist leer, enthält nur Leerraum oder enthält ein Platzhalterzeichen.

PathTooLongException

Der path-Parameter überschreitet die systemdefinierte maximale Länge.

Hinweise

In den meisten Fällen besteht die von dieser Methode zurückgegebene Zeichenfolge aus allen Zeichen des Pfades bis zum, aber nicht einschließlich des letzten DirectorySeparatorChar oder AltDirectorySeparatorChar. Wenn der Pfad aus einem Stammverzeichnis besteht, z. B. "c:\", wird NULL zurückgegeben. Beachten Sie, dass diese Methode keine Pfade mit "file:" unterstützt. Da der zurückgegebene Pfad weder DirectorySeparatorChar noch AltDirectorySeparatorChar enthält, führt die Übergabe des zurückgegebenen Pfads an die GetDirectoryName-Methode zum Abschneiden einer Ordnerebene der Ergebniszeichenfolge pro nachfolgendem Aufruf. Wenn z. B. der Pfad "C:\Directory\SubDirectory\test.txt" an die GetDirectoryName-Methode übergeben wird, wird "C:\Directory\SubDirectory" zurückgegeben. Wenn diese Zeichenfolge "C:\Directory\SubDirectory" an GetDirectoryName übergeben wird, führt dies zu "C:\Directory".

Ein Beispiel für die Verwendung dieser Methode finden Sie im Beispielabschnitt. In der folgenden Tabelle sind Beispiele für andere typische oder verwandte E/A-Aufgaben aufgeführt.

Aufgabe

Beispiel in diesem Thema

Eine Textdatei erstellen.

Gewusst wie: Schreiben von Text in eine Datei

Schreiben in eine Textdatei.

Gewusst wie: Schreiben von Text in eine Datei

Lesen aus einer Textdatei.

Gewusst wie: Lesen aus einer Textdatei

Abrufen einer Dateierweiterung.

GetExtension

Abrufen des voll qualifizierten Pfades einer Datei.

GetFullPath

Nur den Dateinamen aus einem Pfad abrufen.

GetFileNameWithoutExtension

Ändern der Erweiterung einer Datei.

ChangeExtension

Beispiel

Im folgenden Codebeispiel wird die Verwendung der GetDirectoryName-Methode auf einer Desktopplattform auf Grundlage von Windows veranschaulicht.

Dim fileName As String = "C:\mydir\myfile.ext"
Dim pathname As String = "C:\mydir\"
Dim rootPath As String = "C:\"
Dim directoryName As String

directoryName = Path.GetDirectoryName(fileName)
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", fileName, directoryName)

directoryName = Path.GetDirectoryName(pathname)
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", pathname, directoryName)

directoryName = Path.GetDirectoryName(rootPath)
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", rootPath, directoryName)

'This code produces the following output:
'
'GetDirectoryName('C:\mydir\myfile.ext') returns 'C:\mydir'
'GetDirectoryName('C:\mydir\') returns 'C:\mydir'
'GetDirectoryName('C:\') returns ''
string fileName = @"C:\mydir\myfile.ext";
string path = @"C:\mydir\";
string rootPath = @"C:\";
string directoryName;
    
directoryName = Path.GetDirectoryName(fileName);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
    fileName, directoryName);

directoryName = Path.GetDirectoryName(path);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
    path, directoryName);

directoryName = Path.GetDirectoryName(rootPath);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
    rootPath, directoryName);
/*
This code produces the following output:

GetDirectoryName('C:\mydir\myfile.ext') returns 'C:\mydir'
GetDirectoryName('C:\mydir\') returns 'C:\mydir'
GetDirectoryName('C:\') returns ''

*/
String^ fileName = "C:\\mydir\\myfile.ext";
String^ path = "C:\\mydir\\";
String^ rootPath = "C:\\";
String^ directoryName;
directoryName = Path::GetDirectoryName( fileName );
Console::WriteLine( "GetDirectoryName('{0}') returns '{1}'", fileName, directoryName );
directoryName = Path::GetDirectoryName( path );
Console::WriteLine( "GetDirectoryName('{0}') returns '{1}'", path, directoryName );
directoryName = Path::GetDirectoryName( rootPath );
Console::WriteLine( "GetDirectoryName('{0}') returns '{1}'", rootPath, directoryName );

/*
This code produces the following output:

GetDirectoryName('C:\mydir\myfile.ext') returns 'C:\mydir'
GetDirectoryName('C:\mydir\') returns 'C:\mydir'
GetDirectoryName('C:\') returns ''

*/
String fileName = "C:\\mydir\\myfile.ext";
String path = "C:\\mydir\\";
String rootPath = "C:\\";
String directoryName;

directoryName = Path.GetDirectoryName(fileName);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
    fileName, directoryName);

directoryName = Path.GetDirectoryName(path);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
    path, directoryName);

directoryName = Path.GetDirectoryName(rootPath);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
    rootPath, directoryName);
/*
This code produces the following output:

GetDirectoryName('C:\mydir\myfile.ext') returns 'C:\mydir'
GetDirectoryName('C:\mydir\') returns 'C:\mydir'
GetDirectoryName('C:\') returns ''

*/
var fileName : String = "C:\\mydir\\myfile.ext";
var path : String = "C:\\mydir\\";
var rootPath : String = "C:\\";
var directoryName : String;
    
directoryName = Path.GetDirectoryName(fileName);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
                  fileName, directoryName);

directoryName = Path.GetDirectoryName(path);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
                  path, directoryName);

directoryName = Path.GetDirectoryName(rootPath);
Console.WriteLine("GetDirectoryName('{0}') returns '{1}'", 
                  rootPath, directoryName);
/*
This code produces the following output:

GetDirectoryName('C:\mydir\myfile.ext') returns 'C:\mydir'
GetDirectoryName('C:\mydir\') returns 'C:\mydir'
GetDirectoryName('C:\') returns ''

*/

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

Path-Klasse
Path-Member
System.IO-Namespace

Weitere Ressourcen

Datei- und Stream-E/A
Gewusst wie: Lesen aus einer Textdatei
Gewusst wie: Schreiben von Text in eine Datei