[PowerShell] 특정 디렉토리 내 파일의 확장자 일괄 변경

  제목대로, 이번엔 파워쉘에서 특정 디렉토리 내의 확장자를 일괄 변경하는 방법에 대해 써보려 합니다.

  파워쉘이 없던 시절엔 명령 프롬프트의 ren 명령어로 이러쿵 저러쿵 사용했던 것 같은데, 잘 기억이 안 나는 바람에 이렇게 된 거, 파워쉘로 해보자 하며 찾아본 결과입니다.

  DIR 명령어는 Get-ChildItem 혹은 GCI 명령어로도 대체 가능합니다.

DIR | Rename-Item -NewName { [System.IO.Path]::ChangeExtension($_.Name, ".확장자") }

  당연히 DIR 옆의 | 기호는 파이프 기호입니다. 대충 동작하는 과정은,

1. Get-ChildItem으로 현재 디렉토리 내의 모든 파일/폴더를 가져옴
2. 1. 의 각 항목에 대해 Rename-Item 명령어를 실행
3. Rename-Item 명령어의 -NewName 인수에 따라, 새 이름을 적용
4. 바뀔 이름은 각 항목이서 확장자만 확장자로 바꾼 문자열이 됨

댓글

이 블로그의 인기 게시물

C# 남아도는 메모리에도 불구하고 OutOfMemoryException이 발생한다면?

USB를 뒤는 괜찮은데 앞에 꽂으면 인식이 힘들다?

MySQL 데이터 타입과 Java 데이터 타입 비교/매칭