2010-12-01 9 views
3

Zum Beispiel habe ich eine Datei ISample.cs in diesem Pfad wieKönnen wir den Dateipfad vom letzten Ordner in C# trennen?

"D:\TEST_SOURCE\CV\SOURCE CODE\ARMY.Data\ProceduresALL\ISample.cs" 

ich will hier den Datei-Pfad von

"ProceduresAll\ISample.cs" 

Davor ich will nicht, dass path.Here ich bin Verwenden des Ordnerbrowsers zum Auswählen des Ordners.

Bitte helfen Sie mir diesbezüglich.

Antwort

16

Sie meinen so?

string path = @"D:\TEST_SOURCE\CV\SOURCE CODE\ARMY.Data\ProceduresALL\ISample.cs"; 

//ISample.cs 
Path.GetFileName(path); 

//D:\TEST_SOURCE\CV\SOURCE CODE\ARMY.Data\ProceduresALL 
Path.GetDirectoryName(path); 

//ProceduresALL 
Path.GetDirectoryName(path).Split(Path.DirectorySeparatorChar).Last(); 

Verwenden Path.Combine ("ProceduresALL", "ISample.cs") ProceduresALL \ ISample.cs (unter Verwendung der oben diese Strings zu bekommen) zu erhalten.

+0

Vielen Dank .... :-) –

+0

Keine Probleme. :) – BlueVoodoo

-1

sollte diese Arbeit:

var path = "D:\TEST_SOURCE\CV\SOURCE CODE\ARMY.Data\ProceduresALL\ISample.cs"; 
var fileName = System.IO.Path.GetFileName(path); 
var directoryName = System.IO.Path.GetDirectoryName(path); 
System.IO.Path.Combine(directoryName,fileName); 
+0

Von MSDN ('GetDirectoryName'): In den meisten Fällen besteht die von dieser Methode zurückgegebene Zeichenfolge aus allen Zeichen im Pfad bis zur letzten DirectorySeparatorChar oder AltDirectorySeparatorChar. – Oded

+0

Tut mir leid, es funktioniert nicht –

0

Sie entweder die String-Funktion Split verwenden könnte die LastIndexOf und Substring-Funktionen verwenden hacken weg auf den Pfaden auf \ oder Sie könnten zu teilen.

2
string fullPath = @"D:\TEST_SOURCE\CV\SOURCE CODE\ARMY.Data\ProceduresALL\ISample.cs"; 
string fileName = Path.GetFileName(fullPath); 
string filePath = Path.GetDirectoryName(fullPath); 
string shortPath = Path.Combine(Path.GetFileName(filePath), fileName) 

Path.GetFileName(filePath) erhält den „Dateiname“ Teil, der tatsächlich das letzte Verzeichnis Teil als filePath ist kein Dateiname enthält mehr.

Verwandte Themen