How to Batch Rename Files in Windows 11: 5 Methods (Explorer to PowerShell)
Rename hundreds of files at once in Windows — with File Explorer, PowerRename, PowerShell, the command prompt, or a free browser tool. Includes numbering, find-and-replace and renaming photos by date.
By Zeeshan Khalid · Updated 26 September 2026
Whether it's IMG_4821.JPG through IMG_5390.JPG, a folder of invoice_final - Copy (2).pdf, or 400 scanned pages that need numbering, renaming files one by one is miserable. Windows has several ways to do it in bulk — here they are from simplest to most powerful.
Method 1: File Explorer (select + F2)
The fastest option for a simple sequence:
- Select the files (Ctrl+A for all, or Ctrl+click).
- Press F2 (or right-click → Rename).
- Type the new name, e.g.
Italy 2024, and press Enter.
Windows renames them Italy 2024 (1).jpg, Italy 2024 (2).jpg, and so on, in the current sort order. Press Ctrl+Z straight away to undo.
Tip: sort the folder by Date first so the numbers follow the order the files were created.
Limits: no find-and-replace, no custom number format (001), and the brackets can't be removed.
Method 2: PowerToys PowerRename (best free GUI)
Microsoft's free PowerToys adds PowerRename to the right-click menu, with a live preview:
- Install PowerToys (Microsoft Store) and make sure PowerRename is enabled.
- Select files → right-click → Rename with PowerRename (on Windows 11 it may be under Show more options).
- Enter Search for and Replace with text. Tick Use regular expressions for patterns.
- Check the preview, then click Apply.
Useful tricks:
- Replace
IMG_withHoliday_. - Search
\s-\sCopy(\s\(\d+\))?with regex on and an empty Replace to strip " - Copy" suffixes. - Recent versions support counters in Replace with, such as
Trip ${start=1,padding=3}for001-style numbering.
Method 3: PowerShell (unlimited control)
Open the folder in File Explorer, click the address bar, type powershell and press Enter. Then:
Find and replace in names:
Get-ChildItem -File | Rename-Item -NewName { $_.Name -replace 'IMG_', 'Holiday_' }
Add a prefix:
Get-ChildItem -File | Rename-Item -NewName { "2024-07 " + $_.Name }
Number files in date order with padding (Trip 001.jpg):
$i = 1
Get-ChildItem -File *.jpg | Sort-Object LastWriteTime | ForEach-Object {
Rename-Item $_ -NewName ("Trip {0:D3}{1}" -f $i++, $_.Extension.ToLower())
}
Lowercase every extension (.JPG → .jpg):
Get-ChildItem -File | Rename-Item -NewName { $_.BaseName + $_.Extension.ToLower() }
Add -WhatIf to the end of Rename-Item to preview changes without applying them. There's no undo, so try it on a copy of the folder first.
Method 4: Command Prompt ren
The old-school option handles simple wildcard patterns, like changing extensions:
ren *.jpeg *.jpg
Anything beyond that gets awkward quickly — use PowerShell.
Method 5: Free browser tool with preview
If you'd rather not touch the command line, the free bulk file renamer combines find & replace (with optional regex), prefixes, suffixes, numbering with padding, case conversion and "- Copy" clean-up, with a live preview of every new name. Because browsers can't rename files on your disk, it gives you two options: a zip of renamed copies, or a PowerShell script that renames the originals in place when you run it.
Which method should you use?
| Task | Best method |
|---|---|
| Quick numbered sequence | File Explorer + F2 |
| Find & replace with preview | PowerRename or the browser tool |
| Numbering like 001, 002 | PowerShell, PowerRename or the browser tool |
| Complex rules, repeatable | PowerShell script |
| Photos by date taken | A renamer that reads EXIF |
| Non-technical user, needs undo | A dedicated app with history |
Renaming photos by the date they were taken
This is the one Windows' built-in tools do badly. File Explorer and PowerShell's LastWriteTime use the file's date, which changes when photos are copied, edited or downloaded. The real capture date lives in the photo's EXIF metadata (and in MP4/MOV metadata for videos). Photos from two phones on one holiday only sort correctly by capture time.
That's the main reason I built Bulk File Renamer for Windows: it names photos and videos by date taken (JPG, HEIC, PNG, WebP, MP4, MOV), highlights exactly what changes in a live preview, never overwrites (clashes get (2)), and keeps a full history with Undo — even days later. It works offline. If you're also converting or resizing the same photos, BatchLens Pro can add prefixes, suffixes and sequence numbers as part of its batch.
Frequently asked questions
- How do I rename multiple files at once in Windows?
- Select the files in File Explorer, press F2, type a new name and press Enter. Windows renames them Name (1), Name (2) and so on. For more control, use PowerToys PowerRename or PowerShell.
- Can I undo a batch rename?
- In File Explorer, press Ctrl+Z immediately after renaming. Renames done with PowerShell or the command prompt can't be undone automatically, so test on a copy first.
- How do I remove '- Copy' from many file names?
- In PowerShell, from the folder: Get-ChildItem | Rename-Item -NewName { $_.Name -replace ' - Copy', '' }. Or use PowerRename with ' - Copy' in Search and an empty Replace.
- How do I rename photos by the date they were taken?
- Windows' built-in tools can only use the file's modified date. To use the real capture date from EXIF, you need a tool that reads photo metadata — PowerRename supports some date variables, and dedicated renamers read EXIF directly.