상세 컨텐츠

본문 제목

windows 폴더 내 모든 파일의 확장자 확인

Dev Type

by ai developer 2024. 3. 12. 13:40

본문

 

어느 날 갑자기 폴더 내의 모든 파일들에 대한 확장자 종류에 대해 조사하라는 미션이 생겼다.

윈도우 자체를 거의 사용하지 않고 개발하면서 처음 겪는 미션이라 당황스러웠는데 검색하기도 좀 애매한 상황...

 

간단한 해결책이 있었다.(MS Copilot의 도움!)

Powershell을 활용하면 간단했다.

$folderPath = "C:\\YourFolderPath" # 여기에 원하는 폴더 경로를 입력하세요.
$outputFile = "C:\\YourOutputFile.txt" # 여기에 결과를 저장할 파일의 경로를 입력하세요.

Get-ChildItem -Path $folderPath -Recurse | # 재귀적으로 모든 하위 폴더와 파일을 가져옵니다.
Where-Object {!$_.PSIsContainer} | # 폴더는 제외하고 파일만 선택합니다.
ForEach-Object { $_.Extension } | # 각 파일의 확장자를 가져옵니다.
# ForEach-Object { $_.Extension.ToLower() } | # 각 파일의 확장자를 소문자로 변환하여 가져옵니다.
# ForEach-Object { $_.Extension.ToLower().Trim() } | # 각 파일의 확장자를 소문자로 변환하고 공백을 제거하여 가져옵니다.
Sort-Object | # 확장자를 정렬합니다.
Get-Unique | # 중복된 확장자를 제거합니다.
Out-File $outputFile # 결과를 텍스트 파일로 출력합니다.
# 만약 파일 이름까지 필요하다면, ForEach-Object { $_.Extension } 부분을 ForEach-Object { $_.Name }로 변경하면 됩니다.

 

이 방법을 활용해 테스트 폴더에서 먼저 테스트 해봤고 중복을 잘 걸러내며 모든 Extension을 불러와 내 수고를 덜어줄 수 있었다.

하지만 상당히 nested 한 폴더 구조와 많은 파일들이 있다면 당연히 시간이 오래 걸린다.

 

간단한 미션이지만 폴더 내의 구조가 상당히 복잡하다면 눈과 손으로 하기보다 스크립트로 하는 것이 도움이 될 듯 합니다. 누군가에게 도움이 됐으면 좋겠다.

300x250

관련글 더보기

댓글 영역