Получить имя папки из полного пути к файлу



Как получить имя папки из полного пути приложения?



Это путь к файлу ниже,



c:projectsrootwsdlprojdevlopbeta2text


здесь "текст" - это имя папки.



Как я могу получить это имя папки из этого пути?

284   10  
c#

10 ответов:

См.DirectoryInfo.Name:

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

Я думаю, что вы хотите получить имя родительской папки из пути к файлу. Это легко получить. Один из способов-создать FileInfo введите объект и используйте его Directory собственность.

пример:

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

String dirName = fInfo.Directory.Name;

попробуй такое

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

вы могли бы использовать это:

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

Я понял, что нет никакого способа, кроме как войти в файловую систему, чтобы узнать, есть ли текст.txt-это каталог или файл. Если вы хотели что-то простое, может быть, вы можете просто использовать:

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

просто использовать 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"

в этом случае файл, который вы хотите получить хранится в переменной strpath:

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

Это также можно сделать так;

var directoryName = System.IO.Path.GetFileName(@"c:\projects\roott\wsdlproj\devlop\beta2\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);
Path.GetDirectoryName(@"c:\projects\roott\wsdlproj\devlop\beta2\text");

MSDN: путь.GetDirectoryName Метод

Comments

    Ничего не найдено.