648 Stimmen

Wie erhalte ich das Verzeichnis aus dem vollständigen Pfad einer Datei?

Wie kann man am einfachsten das Verzeichnis ermitteln, in dem sich eine Datei befindet? Ich verwende dies, um ein Arbeitsverzeichnis festzulegen.

string filename = @"C:\MyDirectory\MyFile.bat";

In diesem Beispiel sollte ich " C:\MyDirectory ".

3 Stimmen

Sollte das nicht ein String-Literal sein? @"C:\MyDirectory\MyFile.bat"

3 Stimmen

Möchte jemand diese Frage schützen, der das Recht dazu hat? 11 ähnliche Antworten mit der letzten von 2017

1021voto

Jon Skeet Punkte 1325502

Wenn Sie definitiv einen absoluten Pfad haben, verwenden Sie Path.GetDirectoryName(path) .

Wenn Sie nur einen relativen Namen erhalten können, verwenden Sie new FileInfo(path).Directory.FullName .

Beachten Sie, dass Path y FileInfo befinden sich beide im Namespace System.IO .

1 Stimmen

In der Tat, aber gibt es eine Methode namens GetDirectory? Ist es nicht GetDirectoryName?

1 Stimmen

Sie können einfach DirectoryName anstelle von Directory.FullPath verwenden, oder?

1 Stimmen

Ich wollte verhindern, dass ich einen verwandten Namen erhalte. Ich hatte nicht bemerkt, dass der Pfad absolut sein wird. Ich habe jetzt beide Versionen :)

71voto

Cherian Punkte 18451
System.IO.Path.GetDirectoryName(filename)

26voto

Grzenio Punkte 34566
Path.GetDirectoryName(filename);

24voto

Reed Copsey Punkte 536986

Sie können verwenden System.IO.Path.GetDirectoryName(fileName) oder verwandeln Sie den Pfad in eine FileInfo mit FileInfo.Directory .

Wenn Sie andere Dinge mit dem Pfad machen, wird die FileInfo Klasse kann Vorteile haben.

3 Stimmen

Es gibt keine 'GetDirectory-Methode in der Path-Klasse; Sie müssen 'GetDirectoryName' gemeint haben

11voto

Brandon Punkte 67029

Sie können verwenden Path.GetDirectoryName und geben Sie einfach den Dateinamen ein.

MSDN-Link

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X