파일을 여러 개 정리하다 보면 이름에 똑같이 붙어 있는 글자를 한 번에 바꾸고 싶을 때가 있습니다. 파일이 몇 개라면 직접 이름을 수정해도 되지만, 수십 개나 수백 개가 되면 하나씩 바꾸는 건 꽤 번거롭습니다.
이럴 때 Windows에 기본으로 있는 PowerShell을 이용하면 별도의 파일명 변경 프로그램을 설치하지 않고도 여러 파일의 이름을 한꺼번에 바꿀 수 있습니다. 이번 글에서는 실제로 MP3 파일 이름의 (1)을 part 2로 일괄 변경하는 예제를 중심으로 정리해보겠습니다.
1. 이번에 바꿀 파일 이름 예시
예를 들어 폴더 안에 다음과 같은 MP3 파일들이 있다고 해보겠습니다.
노래제목 01 (1).mp3
노래제목 02 (1).mp3
노래제목 03 (1).mp3
여기서 모든 파일에 붙어 있는 (1)을 part 2로 바꾸는 것이 목표입니다.
노래제목 01 part 2.mp3
노래제목 02 part 2.mp3
노래제목 03 part 2.mp3
2. 변경할 파일이 있는 폴더에서 PowerShell 열기
먼저 파일 이름을 바꿀 MP3 파일들을 한 폴더에 모아둡니다. 그 폴더에서 PowerShell 또는 Windows Terminal을 열고 현재 위치가 변경하려는 파일들이 들어 있는 폴더인지 확인합니다.
TIP
파일명 변경 명령은 현재 작업 중인 폴더를 기준으로 실행되므로, 실행 전에 폴더 위치를 한 번 확인하는 것이 좋습니다.
3. (1)을 part 2로 한꺼번에 변경하는 명령어
첨부한 실제 예제에서 사용한 명령어는 다음과 같습니다.
Get-ChildItem "* (1).mp3" | Rename-Item -NewName { $_.Name -replace ' \(1\)', ' part 2' }이 명령을 실행하면 현재 폴더에서 이름이 (1).mp3로 끝나는 파일들을 찾아 파일명 안의 (1) 부분을 part 2로 바꿉니다.
4. 명령어를 부분별로 보면 어렵지 않습니다
- Get-ChildItem “* (1).mp3” : 현재 폴더에서 조건에 맞는 MP3 파일을 찾습니다.
- | : 앞에서 찾은 파일을 다음 명령으로 넘깁니다.
- Rename-Item : 파일 이름을 변경하는 PowerShell 명령입니다.
- $_.Name : 현재 처리하고 있는 파일의 이름을 의미합니다.
- -replace : 파일 이름 안에서 지정한 문자열을 다른 문자열로 교체합니다.
명령어가 길어 보이지만 실제 흐름은 파일 찾기 → 이름에서 특정 부분 찾기 → 원하는 글자로 바꾸기입니다.
5. 왜 괄호 앞에 역슬래시가 들어갈까?
-replace에서 검색할 문자열은 정규식 규칙의 영향을 받습니다. 괄호는 특별한 의미를 가질 수 있기 때문에 실제 문자 (와 ) 자체를 찾으려면 예제처럼 \(1\) 형태로 작성합니다.
이 부분 때문에 단순히 파일명에 보이는 글자를 그대로 입력했는데 예상과 다르게 동작하는 경우가 있으므로 괄호가 포함된 이름을 바꿀 때 기억해두면 좋습니다.
6. MP3가 아닌 다른 파일에도 응용할 수 있을까?
기본 원리를 이해하면 같은 방식으로 다른 파일 형식에도 응용할 수 있습니다. 다만 확장자와 바꾸려는 문자열은 실제 파일에 맞게 수정해야 합니다.
예를 들어 JPG, PNG, TXT처럼 다른 파일을 대상으로 작업하려면 Get-ChildItem의 검색 조건을 해당 확장자에 맞춰 변경하면 됩니다. 처음에는 몇 개의 복사본으로 테스트한 뒤 전체 파일에 적용하는 편이 안전합니다.
주의
PowerShell의 파일명 변경 명령은 여러 파일에 즉시 적용될 수 있습니다. 중요한 원본 파일이라면 백업 또는 복사본을 만든 뒤 먼저 테스트하세요. 검색 조건을 너무 넓게 지정하지 않는 것도 중요합니다.
7. 이런 상황에서 특히 편합니다
- 다운로드한 파일에 반복해서 붙은 (1), (2) 같은 문구를 정리할 때
- 여러 MP3 파일에 동일한 part, version, 날짜 등을 붙일 때
- 사진이나 문서 파일의 공통된 문자열을 일괄 변경할 때
- 수십 개의 파일을 하나씩 우클릭해서 이름 바꾸기 어려울 때
자주 묻는 질문
PowerShell을 별도로 설치해야 하나요?
일반적인 Windows 환경에서는 기본 제공되는 PowerShell 또는 Windows Terminal을 이용할 수 있습니다.
파일 내용도 바뀌나요?
이 예제는 파일 자체의 내용이 아니라 파일 이름을 변경하는 작업입니다.
실수로 다른 파일까지 바뀌는 것을 막으려면?
검색 조건을 가능한 구체적으로 지정하고, 먼저 테스트용 파일이나 복사본에서 실행하는 것이 좋습니다. 실행 전 Get-ChildItem만 사용해 어떤 파일이 선택되는지 확인하는 방법도 유용합니다.
마무리
여러 파일의 이름에서 똑같은 부분을 바꿔야 한다면 하나씩 수정할 필요가 없습니다. PowerShell의 Get-ChildItem, Rename-Item, -replace를 조합하면 반복되는 파일명 정리 작업을 빠르게 처리할 수 있습니다.
특히 이번 예제처럼 MP3 파일의 (1)을 part 2로 변경하는 작업은 한 줄의 명령으로 처리할 수 있습니다. 중요한 파일을 다룰 때는 항상 복사본으로 먼저 테스트한 뒤 적용하세요.