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

问题描述 投票:0回答:10

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

这是下面的文件路径,

c:\projects\root\wsdlproj\devlop\beta2\text

这里的“text”是文件夹名称。

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

c# directory
10个回答
214
投票

参见 DirectoryInfo.Name

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

31
投票

我认为您想从文件路径获取父文件夹名称。这很容易得到。 一种方法是创建一个

FileInfo
类型对象并使用其
Directory
属性。

示例:

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

String dirName = fInfo.Directory.Name;

15
投票

试试这个

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

10
投票

你可以用这个:

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

5
投票

只需使用

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"

4
投票

我想除了进入文件系统来查明 text.txt 是一个目录还是一个文件之外,没有其他办法。如果你想要简单的东西,也许你可以使用:

s.Substring(s.LastIndexOf(@"\"));

2
投票

在这种情况下,您想要获取的文件存储在 strpath 变量中:

string strPath = Server.MapPath(Request.ApplicationPath) + "/contents/member/" + strFileName;

2
投票

这是一种适合我的替代方法,无需创建 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);

1
投票

也可以这样做;

var directoryName = System.IO.Path.GetFileName(@"c:\projects\roott\wsdlproj\devlop\beta2\text");

0
投票

基于之前答案(但已修复)

using static System.IO.Path;

var dir = GetFileName(path?.TrimEnd(DirectorySeparatorChar, AltDirectorySeparatorChar));

来自

.NET 来源
GetFileName 解释:

返回给定路径的名称和扩展部分。所结果的 字符串包含路径中最后一个字符之后的字符 反斜杠(“\”)、斜杠(“/”)或冒号(“:”)字符 小路。结果字符串是整个路径 if path 删除尾随斜杠、斜杠或冒号字符后不包含反斜杠。所结果的 如果路径为空,则字符串为空。

© www.soinside.com 2019 - 2024. All rights reserved.