programing

C#에서 (마지막 부분의) 현재 디렉터리 이름 가져오기

oldcodes 2023. 10. 21. 10:50
반응형

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);

다음을 시도해 볼 수 있습니다.

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

찾으시는군요.
경로가 다음과 같이 끝날 경우에는 작동하지 않습니다.\.

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

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

그러면 "2938_parentid"가 반환됩니다.

음, 당신의 질문 제목에 정확하게 답하자면 :-)

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

통화를 분할하기 위해 '/'를 사용하는 것보다, 사용하는 것이 더 낫습니다.Path.DirectorySeparatorChar:

다음과 같습니다.

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

경로에 순방향 슬래시 구분자 또는 역방향 슬래시 구분자가 포함되어 있는 경우에 이 기능을 수행합니다.

URI 클래스를 사용할 수도 있습니다.

new Uri("file:///Users/smcho/filegen_from_directory/AIRPassthrough").Segments.Last()

다른 세그먼트를 가져오거나 웹 주소로 동일한 작업을 수행하려면 이 클래스를 사용하는 것이 좋습니다.

시도해 보기:

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

int indexOfLastSlash = oldString.LastIndexOf('/');

newString = oldString.Substring(indexOfLastSlash, oldString.Length);

코드가 꺼져 있을 수도 있지만(테스트를 해보지는 않았지만) 아이디어는 효과가 있을 것입니다.

이건 저랑 완벽하게 잘 어울려요 :)

Path.GetFileName(path.TrimEnd('\\')

아래 코드로 시도해 볼 수 있습니다.

Path.GetFileName(userpath)

언급URL : https://stackoverflow.com/questions/6018293/get-the-last-part-of-current-directory-name-in-c-sharp

반응형