반응형
PowerShell을 사용하여 분할 경로에서 파일의 최하위 디렉터리 이름 가져오기
파일 경로 이름의 마지막 부분만 가져오면 됩니다.
예:
c:\dir1\dir2\dir3\file.txt
나는 필요합니다.dir3
변수로 변환합니다.
저는 계속 노력해왔습니다.Split-Path
, 하지만 내게 모든 길을 다 알려주거든요.
이것은 두번의 호출이 필요합니다.Split-Path
AFAIFACT:
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
반응형
'programing' 카테고리의 다른 글
더 큰 글리폰 (0) | 2023.09.10 |
---|---|
Android의 색상 이해 (6자) (0) | 2023.09.10 |
CSS 셀렉터에서 클래스와 ID를 결합하는 방법은? (0) | 2023.09.10 |
해외이주의 핵심과 라라벨에서의 웅변적 관계 (0) | 2023.09.10 |
HTML5 로컬 스토리지:키가 존재하는지 확인하는 중 (0) | 2023.09.10 |