반응형
Powershell의 개별 파일 형식 목록
Powershell에서 폴더 및 하위 폴더의 모든 파일 형식을 나열하는 한 줄로 작성하려고 합니다.
지금까지 알고 있습니다.
Get-ChildItem D:\Audio -Recursive | Select-Object PSParentPath, Extension | Export-Csv D:\Test.csv
그러나 각 폴더에 대해 검색된 모든 확장자를 한 번만 표시하고 싶습니다.
예를 들어, D에 10개의 mp3 파일과 1개의 jpg 파일이 있다고 가정해 보겠습니다.\Audio\foo 및 5개의 flac 파일과 1개의 txt 파일을 D:\Audio\bar.출력은 다음과 같습니다.
- foo.mp3
- 푸우우
- 막대 플랙
- bar .txt
Get-Unique를 사용해야 할 것 같은데 경로 속성이 아닌 Extension 속성에서 어떻게 지정합니까?
선택 개체에 고유 항목만 추가:
Get-Childitem -Recurse | Select-Object PSParentPath,Extension -Unique
(또한 여기서는 디렉터리 이름이 PSParentPath보다 나을 수 있습니다.)
나는 Jimmeh의 완전한 솔루션, 테이크 전용 파일에 -file을 사용합니다.
Get-ChildItem "c:\temp" -Recurse -file | select directoryname, Extension -Unique
사용해 보십시오.
Get-ChildItem D:\Audio -Recurse | Group-Object psparentpath, extension | ? {(($_.Name -split ", .")[1]) -ne $Null } | ft -AutoSize @{Expression={(($_.Name.Split("\"))[$_.Name.Split("\").Length -1] -split ",")[0]};Label="Folder"}, @{Expression={($_.Name -split ", .")[1]};Label="Extension"}
폴더 + 확장에 대한 전체 경로를 표시하려면 다음을 시도하십시오.
Get-ChildItem D:\Audio -Recurse | Group-Object psparentpath, extension | ? {(($_.Name -split ", .")[1]) -ne $Null } | ft -AutoSize @{Expression={($_.Name.Replace("Microsoft.PowerShell.Core\FileSystem::","") -split ", .")[0]};Label="Folder"}, @{Expression={($_.Name -split ", .")[1]};Label="Extension"}
언급URL : https://stackoverflow.com/questions/13921537/distinct-list-of-file-types-in-powershell
반응형
'programing' 카테고리의 다른 글
구분 기호로 판다 데이터 프레임 열 분할 (0) | 2023.08.29 |
---|---|
WHERE 절은 IN과 JOIN 이전 또는 이후에 더 잘 실행됩니다. (0) | 2023.08.29 |
도커 구성을 위해 환경 변수를 전달하는 방법 (0) | 2023.08.29 |
브라우저 자동 완성/수정 양식이 Ajax 요청에서 작동하지 않음 (0) | 2023.08.29 |
ASP에서 인증되지 않은 경우 로그인으로 리디렉션합니다.NET 코어 (0) | 2023.08.29 |