Back to Blog
Advanced2025-01-199 min read
Bulk Rename Files with PowerShell: Complete Script Guide
Bulk Rename Files with PowerShell: Complete Script Guide
PowerShell is the most powerful built-in tool for batch renaming on Windows. Here are copy-paste scripts for every scenario.
Getting Started
Open PowerShell in your folder: 1. Open folder in File Explorer 2. Shift + Right-click 3. Select "Open PowerShell window here"
Basic Rename Scripts
Add prefix to all files
Get-ChildItem | Rename-Item -NewName { "prefix-" + $_.Name }Add suffix before extension
Get-ChildItem | Rename-Item -NewName {
$_.BaseName + "-suffix" + $_.Extension
}Replace text in filename
Get-ChildItem | Rename-Item -NewName {
$_.Name -replace "old","new"
}Numbering Scripts
Sequential numbering
$i = 1
Get-ChildItem *.jpg | ForEach-Object {
Rename-Item $_ ("photo-{0:D3}.jpg" -f $i++)
}Numbering with original name
$i = 1
Get-ChildItem *.jpg | ForEach-Object {
Rename-Item $_ ("{0:D3}-{1}" -f $i++, $_.Name)
}Date-Based Scripts
Add today's date
$date = Get-Date -Format "yyyy-MM-dd"
Get-ChildItem | Rename-Item -NewName { "$date-" + $_.Name }Use file's modified date
Get-ChildItem *.jpg | ForEach-Object {
$date = $_.LastWriteTime.ToString("yyyy-MM-dd")
Rename-Item $_ ("$date-" + $_.Name)
}Extension Scripts
Change extension
Get-ChildItem *.txt | Rename-Item -NewName {
$_.Name -replace '.txt','.md'
}Lowercase extensions
Get-ChildItem | Rename-Item -NewName {
$_.BaseName + $_.Extension.ToLower()
}Case Change Scripts
Lowercase everything
Get-ChildItem | Rename-Item -NewName { $_.Name.ToLower() }Replace spaces with hyphens
Get-ChildItem | Rename-Item -NewName {
$_.Name -replace ' ','-'
}Advanced Scripts
Preview changes (WhatIf)
Get-ChildItem | Rename-Item -NewName { "new-" + $_.Name } -WhatIfRecursive (include subfolders)
Get-ChildItem -Recurse *.jpg | Rename-Item -NewName {
"photo-" + $_.Name
}Filter specific files
Get-ChildItem | Where-Object { $_.Name -like "*vacation*" } |
Rename-Item -NewName { $_.Name -replace "vacation","hawaii" }Safety Tips
- Always use -WhatIf first to preview
- Back up files before bulk operations
- Test on copies with sample files
- Use specific patterns to avoid renaming wrong files
When Scripts Aren't Enough
PowerShell can't understand file content. For intelligent naming:
File Renamer AI analyzes your files and creates meaningful names.
Try File Renamer AI - Smart renaming without scripts.