programing

PowerShell을 사용하여 분할 경로에서 파일의 최하위 디렉터리 이름 가져오기

cafebook 2023. 9. 10. 12:39
반응형

PowerShell을 사용하여 분할 경로에서 파일의 최하위 디렉터리 이름 가져오기

파일 경로 이름의 마지막 부분만 가져오면 됩니다.

예:

c:\dir1\dir2\dir3\file.txt

나는 필요합니다.dir3변수로 변환합니다.

저는 계속 노력해왔습니다.Split-Path, 하지만 내게 모든 길을 다 알려주거든요.

이것은 두번의 호출이 필요합니다.Split-PathAFAIFACT:

PS> Split-Path (Split-Path c:\dir1\dir2\dir3\file.txt -Parent) -Leaf
dir3

이 질문은 특히 분할 경로를 묻는 것으로 보이지만 다른 방법으로는 다음과 같습니다.

파일이 존재하는 경우 다음과 같은 작업을 수행하는 것이 훨씬 좋습니다.

(Get-Item c:\dir1\dir2\dir3\file.txt).Directory.Name

파일이 존재하지 않으면 작동하지 않습니다.이 경우 또 다른 방법은 를 사용하는 것입니다.NET API, 예:

$path = [System.IO.Path];
$path::GetFileName($path::GetDirectoryName("c:\dir1\dir2\dir3\file.txt"))

단순하게 유지하고 경로가 정상적인 형태가 될 것이라면String.Split():

"c:\dir1\dir2\dir3\file.txt".split("\")[-2]

시스템을 사용하는 또 다른 옵션.URI:

PS> ([uri]"c:\dir1\dir2\dir3\file.txt").segments[-2].trim('/')
dir3

파일이 디스크에 존재하는 경우:

PS> (dir c:\dir1\dir2\dir3\file.txt).directory.name

일반적으로, 당신이 있는 디렉토리의 이름을 원한다면, 나는 이것을 사용했습니다 (Shay Levi의 독창적인 아이디어 덕분에):

PS> (https).directory.name [0]

언급URL : https://stackoverflow.com/questions/10317335/getting-just-the-lowest-level-directory-name-for-a-file-from-split-path-using-po

반응형