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

PowerShell 스크립트 “한 줄 실행” 모음

webdatacloud 2025. 12. 9. 16:15

1️⃣ PowerShell 스크립트 “한 줄 실행” 모음

먼저 기본 전제부터:

  • 탐색기에서 정리하고 싶은 폴더를 연다 → 주소창 클릭 → powershell 입력 후 Enter
    → 그 폴더 기준으로 PowerShell이 열림.
  • 아래 예제는 현재 폴더 기준으로 동작한다고 보면 됨.
  • 실제 실행 전에는 무조건 -WhatIf를 붙여서 테스트하는 걸 습관으로.

예)

 
# 진짜 실행 전 테스트 Get-ChildItem *.png | Rename-Item -NewName {"OK_" + $_.Name} -WhatIf

1-1. 파일 이름 앞/뒤에 일정한 문자 붙이기

🔹 모두 앞에 접두어 붙이기

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

→ image1.jpg → OK_image1.jpg


🔹 모두 뒤에 접미어 붙이기 (_최종 같은 것)

 
Get-ChildItem | Rename-Item -NewName { $_.BaseName + "_최종" + $_.Extension }

→ 보고서.docx → 보고서_최종.docx


1-2. 일괄 번호 붙이기 (001, 002 …)

🔹 이름 + 3자리 번호

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

→ 파일_001.png, 파일_002.png …


🔹 원래 이름 유지하고 뒤에 번호만

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

→ 보고서_001.pdf, 보고서_002.pdf


1-3. 문자열 치환/삭제 (패턴 정리용)

🔹 파일 이름에서 특정 단어 제거

 
Get-ChildItem | Rename-Item -NewName { $_.Name -replace " - 복사본", "" }

→ 문서1 - 복사본.docx → 문서1.docx


🔹 특정 단어 바꾸기 (초안 → 최종)

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

🔹 괄호 번호 제거 (1), (2) 같은 것

 
Get-ChildItem | Rename-Item -NewName { $_.Name -replace " \(\d+\)", "" }

→ 보고서 (1).pdf → 보고서.pdf


1-4. 확장자·종류별로 자동 분류

🔹 확장자별 폴더 만들어서 정리

 
Get-ChildItem -File | ForEach-Object { $folder = $_.Extension.TrimStart(".") if (-not (Test-Path $folder)) { New-Item -ItemType Directory -Name $folder | Out-Null } Move-Item $_ -Destination $folder }

→ jpg, pdf, xlsx 폴더 자동 생성 후 각각 이동


🔹 특정 확장자만 모으기 (예: 이미지)

 
$ext = @("*.jpg","*.jpeg","*.png") Get-ChildItem $ext | Move-Item -Destination ".\이미지"

(이미지 폴더가 없으면 먼저 mkdir 이미지)


1-5. 날짜 기준으로 폴더 나누기

🔹 수정한 날짜 기준 yyyy-MM 폴더로 이동

 
Get-ChildItem -File | ForEach-Object { $folder = $_.LastWriteTime.ToString("yyyy-MM") if (-not (Test-Path $folder)) { New-Item -ItemType Directory -Name $folder | Out-Null } Move-Item $_ -Destination $folder }

→ 2025-01, 2025-02 폴더 자동 생성 후 정리


1-6. 항상 꼭 써야 하는 -WhatIf

위 모든 스크립트는,
처음엔 무조건 뒤에 -WhatIf 붙여서 “미리보기 모드”로 돌리기:

 
Get-ChildItem -File | ForEach-Object { $folder = $_.LastWriteTime.ToString("yyyy-MM") if (-not (Test-Path $folder)) { New-Item -ItemType Directory -Name $folder | Out-Null } Move-Item $_ -Destination $folder -WhatIf }
  • 이 상태에선 실제 이동/변경 X
  • “무슨 일을 할 건지”만 출력됨
  • 결과가 마음에 들면 -WhatIf만 삭제해서 다시 실행