从完整文件路径获取文件夹名称

vas*_*may 109 c# directory

如何从应用程序的完整路径获取文件夹名称?

这是下面的文件路径,

c:\projects\root\wsdlproj\devlop\beta2\text
Run Code Online (Sandbox Code Playgroud)

这里"text"是文件夹名称.

如何从此路径获取该文件夹名称?

Ale*_*rar 197

请参阅DirectoryInfo.Name:

string dirName = new DirectoryInfo(@"c:\projects\roott\wsdlproj\devlop\beta2\text").Name;
Run Code Online (Sandbox Code Playgroud)


She*_*har 28

我想你想从文件路径获取父文件夹名称.它很容易获得.一种方法是创建一个FileInfo类型对象并使用其Directory属性.

例:

FileInfo fInfo = new FileInfo("c:\projects\roott\wsdlproj\devlop\beta2\text\abc.txt");

String dirName = fInfo.Directory.Name;
Run Code Online (Sandbox Code Playgroud)


Øyv*_*hen 14

试试这个

var myFolderName = @"c:\projects\roott\wsdlproj\devlop\beta2\text";
var result = Path.GetFileName(myFolderName);
Run Code Online (Sandbox Code Playgroud)

  • 除非路径以\结尾,所以:`@"c:\ projects\roott\wsdlproj\devlop\beta2\text \"` (4认同)
  • 如果文件夹路径不包含尾部反斜杠(例如从[Path.GetDirectoryName()]返回的文件夹路径(https://msdn.microsoft.com/en-us/system.io.path),这可以正常工作.getdirectoryname.aspx)).但是,该函数的名称GetFileName()有点误导. (3认同)

Kri*_*aes 9

你可以用这个:

string path = @"c:\projects\roott\wsdlproj\devlop\beta2\text";
string lastDirectory = path.Split(new char[] { System.IO.Path.DirectorySeparatorChar }, StringSplitOptions.RemoveEmptyEntries).Last();
Run Code Online (Sandbox Code Playgroud)


123*_*ing 5

只需使用 Path.GetFileName

这里 - 从文件夹的完整路径中提取文件夹名称:

string folderName = Path.GetFileName(@"c:\projects\root\wsdlproj\devlop\beta2\text");//Return "text"
Run Code Online (Sandbox Code Playgroud)

这是一些额外的 - 从文件的完整路径中提取文件夹名称:

string folderName = Path.GetFileName(Path.GetDirectoryName(@"c:\projects\root\wsdlproj\devlop\beta2\text\GTA.exe"));//Return "text"
Run Code Online (Sandbox Code Playgroud)