CMD와 PowerShell을 활용한 파일명 일괄 변경 방법 (하위 폴더 포함)
파일을 정리하다 보면 특정 패턴의 파일명을 일괄 변경해야 할 때가 많습니다. Windows의 CMD(명령 프롬프트)와 PowerShell을 활용하면 확장자 변경, 접두사 및 접미사 추가, 문자열 치환, 숫자 순번 붙이기 등의 작업을 손쉽게 수행할 수 있습니다.
1. CMD에서 파일명 일괄 변경
기본적인 파일명 변경
ren oldname.txt newname.txt
oldname.txt를 newname.txt로 변경
확장자 변경 (예: .txt → .bak)
ren *.txt *.bak
현재 폴더의 모든 .txt 파일을 .bak로 변경
파일명에 접두사 추가
for %f in (*.txt) do ren "%f" "new_%f"
모든 .txt 파일 앞에 new_ 추가
하위 폴더 포함하여 파일명 변경
for /r %f in (*.txt) do ren "%f" "new_%~nxf"
하위 폴더의 모든 .txt 파일 앞에 new_ 추가
배치 파일(.bat)로 저장하여 실행
@echo off
for /r %%f in (*.txt) do ren "%%f" "new_%%~nxf"
echo 파일명 변경 완료!
pause
위 명령어를 rename_files.bat로 저장 후 실행하면 됩니다.
2. PowerShell에서 파일명 일괄 변경
하위 폴더 포함하여 특정 문자열 변경 (예: old_ → new_)
Get-ChildItem -Path "C:\폴더경로" -Recurse -File | Rename-Item -NewName { $_.Name -replace "old_", "new_" }
하위 폴더 포함하여 확장자 변경 (.txt → .bak)
Get-ChildItem -Path "C:\폴더경로" -Recurse -File -Filter "*.txt" | Rename-Item -NewName { $_.BaseName + ".bak" }
하위 폴더 포함하여 숫자 순번 추가 (file.txt → 001_file.txt)
$index = 1
Get-ChildItem -Path "C:\폴더경로" -Recurse -File -Filter "*.txt" | ForEach-Object {
Rename-Item $_ -NewName ("{0:D3}_$($_.Name)" -f $index)
$index++
}
3. CMD vs PowerShell 비교
기능 | CMD | PowerShell |
---|---|---|
파일명 변경 | ✅ 가능 | ✅ 가능 |
확장자 변경 | ✅ 가능 | ✅ 가능 |
문자열 치환 | ❌ 불가능 | ✅ 가능 |
하위 폴더 포함 | ✅ 가능 (for /r 사용) | ✅ 기본 지원 |
숫자 순번 추가 | ❌ 어려움 | ✅ 가능 |
마무리
파일명을 일괄 변경하려면 간단한 변경은 CMD, 복잡한 패턴 변경은 PowerShell을 활용하는 것이 효과적입니다.
- ✔ CMD 추천: 단순한 확장자 변경, 접두사 추가
- ✔ PowerShell 추천: 문자열 치환, 숫자 순번 추가, 복잡한 규칙 적용
이제 CMD와 PowerShell을 활용하여 파일명을 한 번에 정리해 보세요! 🚀
'Tech Info Log' 카테고리의 다른 글
Whisk AI 이미지 생성 (0) | 2025.02.14 |
---|---|
🚀 DeepSeek 로컬 설치 가이드: AI 모델 실행부터 최적의 하드웨어 설정까지! (0) | 2025.02.03 |
[Windows] cmd 전체파일 출력 (0) | 2025.01.23 |
샌드박스(Sandbox)란? (0) | 2025.01.17 |
세계 각국의 지역별 국가 코드 및 주요 국가 정보 (2) | 2025.01.16 |