[C#] C #에서 현재 디렉토리 이름의 마지막 부분을 가져옵니다.

예를 들어에서 /Users/smcho/filegen_from_directory/AIRPassthrough와 같이 현재 디렉토리의 마지막 부분 을 가져와야 AIRPassthrough합니다.

파이썬 으로이 코드로 얻을 수 있습니다.

import os.path

path = "/Users/smcho/filegen_from_directory/AIRPassthrough"
print os.path.split(path)[-1]

또는

print os.path.basename(path)

C #으로 같은 작업을 어떻게 수행 할 수 있습니까?

추가

응답자의 도움을 받아 필요한 것을 찾았습니다.

using System.Linq;
string fullPath = Path.GetFullPath(fullPath).TrimEnd(Path.DirectorySeparatorChar);
string projectName  = fullPath.Split(Path.DirectorySeparatorChar).Last();

또는

string fullPath = Path.GetFullPath(fullPath).TrimEnd(Path.DirectorySeparatorChar);
string projectName = Path.GetFileName(fullPath);



답변

찾고 있습니다 Path.GetFileName.
경로가로 끝나는 경우 작동하지 않습니다 \.


답변

시도해 볼 수 있습니다 :

var path = @"/Users/smcho/filegen_from_directory/AIRPassthrough/";
var dirName = new DirectoryInfo(path).Name;


답변

글쎄, 당신의 질문 제목 에 정확하게 대답하기 위해 🙂

var lastPartOfCurrentDirectoryName =
   Path.GetFileName(Environment.CurrentDirectory);


답변

이것은 당신이 가진 것에 따라 약간 다른 대답입니다. 파일 목록이 있고 파일이있는 마지막 디렉토리의 이름을 가져와야하는 경우 다음을 수행 할 수 있습니다.

string path = "/attachments/1828_clientid/2938_parentid/somefiles.docx";
string result = new DirectoryInfo(path).Parent.Name;

“2938_parentid”를 반환합니다


답변

대신 호출을 나누기 위해 ‘/’를 사용하면 Path.DirectorySeparatorChar다음 을 사용하는 것이 좋습니다 .

이렇게 :

path.split(Path.DirectorySeparatorChar).Last() 


답변

var lastFolderName = Path.GetFileName(
    path.TrimEnd(Path.DirectorySeparatorChar, Path.AltDirectorySeparatorChar));

경로에 슬래시 구분 기호 나 백 슬래시 구분 기호가 포함 된 경우 작동합니다.


답변

이 시도:

String newString = "";
Sting oldString = "/Users/smcho/filegen_from_directory/AIRPassthrough";

int indexOfLastSlash = oldString.LastIndexOf('/', 0, oldString.length());

newString = oldString.subString(indexOfLastSlash, oldString.length());

코드가 꺼져있을 수 있지만 (테스트하지는 않았지만) 아이디어는 효과가 있습니다.