Answers:
string dirName = new DirectoryInfo(@"c:\projects\roott\wsdlproj\devlop\beta2\text").Name;
试试这个
var myFolderName = @"c:\projects\roott\wsdlproj\devlop\beta2\text";
var result = Path.GetFileName(myFolderName);
@"c:\projects\roott\wsdlproj\devlop\beta2\text\"
您可以使用此:
string path = @"c:\projects\roott\wsdlproj\devlop\beta2\text";
string lastDirectory = path.Split(new char[] { System.IO.Path.DirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries).Last();
StringSplitOptions.RemoveEmptyEntries
绝招。
只需使用 Path.GetFileName
此处-从文件夹的完整路径中提取文件夹名称:
string folderName = Path.GetFileName(@"c:\projects\root\wsdlproj\devlop\beta2\text");//Return "text"
这是一些额外的-从文件的完整路径中提取文件夹名称:
string folderName = Path.GetFileName(Path.GetDirectoryName(@"c:\projects\root\wsdlproj\devlop\beta2\text\GTA.exe"));//Return "text"
这是一种对我有用的替代方法,无需创建DirectoryInfo对象。关键点是GetFileName()
当路径中没有尾部斜杠时可以使用。
var name = Path.GetFileName(path.TrimEnd(Path.DirectorySeparatorChar));
例:
var list = Directory.EnumerateDirectories(path, "*")
.Select(p => new
{
id = "id_" + p.GetHashCode().ToString("x"),
text = Path.GetFileName(p.TrimEnd(Path.DirectorySeparatorChar)),
icon = "fa fa-folder",
children = true
})
.Distinct()
.OrderBy(p => p.text);
也可以这样做。
var directoryName = System.IO.Path.GetFileName(@"c:\projects\roott\wsdlproj\devlop\beta2\text");
Path.GetDirectoryName(@"c:\projects\roott\wsdlproj\devlop\beta2\text");
c:\projects\roott\wsdlproj\devlop\beta2
,而这并不是OP所追求的。