IT,전자기기,PC,모바일

PowerShell로 대량 리네임 · 정리 자동화

webdatacloud 2025. 12. 9. 16:13

✅ 2. PowerShell로 대량 리네임 · 정리 자동화

⚠️ 실행 전 항상 테스트 폴더에서 사용 권장
PowerShell은 관리자 권한 필요 없음


1️⃣ 기본 대량 리네임

🔹 앞에 날짜 붙이기

 
Get-ChildItem *.jpg | Rename-Item -NewName { "2025-01-" + $_.Name }

결과:

 
2025-01-image1.jpg 2025-01-image2.jpg

🔹 뒤에 접미사 붙이기

 
Get-ChildItem *.pdf | Rename-Item -NewName { $_.BaseName + "_확인본" + $_.Extension }

2️⃣ 번호 자동 재정렬 (실무 최강)

 
$i = 1 Get-ChildItem *.png | Sort-Object Name | ForEach-Object { Rename-Item $_ -NewName ("파일_{0:D3}{1}" -f $i, $_.Extension) $i++ }

결과:

 
파일_001.png 파일_002.png 파일_003.png

✅ (1)(2) 깨지는 문제 해결


3️⃣ 문자열 치환 (한 번에 수정)

🔹 특정 단어 제거

 
Get-ChildItem | Rename-Item -NewName { $_.Name -replace "임시_", "" }

🔹 단어 교체

 
Get-ChildItem | Rename-Item -NewName { $_.Name -replace "초안", "최종" }

4️⃣ 확장자 기준 자동 분류

 
Get-ChildItem | ForEach-Object { $folder = $_.Extension.Replace(".", "") if (!(Test-Path $folder)) { New-Item -ItemType Directory -Name $folder } Move-Item $_ $folder }

결과:

 
jpg 폴더 pdf 폴더 xlsx 폴더

5️⃣ 날짜별 자동 정리 (네트워크 서버용 추천)

 
Get-ChildItem | ForEach-Object { $date = $_.LastWriteTime.ToString("yyyy-MM") if (!(Test-Path $date)) { New-Item -ItemType Directory -Name $date } Move-Item $_ $date }

6️⃣ 실수 방지용 “미리보기 실행”

❗ 실제 변경 전에 -WhatIf 추가

 
Rename-Item -WhatIf Move-Item -WhatIf

→ 결과만 보여주고 실행 안 함 (강력 추천)


✅ 실무용 조합 추천

네트워크 공유 대량 정리 루틴

 
① 탐색기 세부정보 보기 ② PowerShell 실행 ③ -WhatIf로 테스트 ④ 정상 확인 후 실행