☕ Buy a Coffee
Home / Windows & SysAdmin

Bulk Rename 100+ Files Instantly Without Extra Software

Master native File Explorer batch renaming tricks and powerful PowerShell regex pipelines to rename thousands of files in milliseconds.

Sachin Siju
Sachin Siju
Lead Systems Engineer & Tech Blogger
Jul 20, 2026 3 min read
Bulk Rename 100+ Files Instantly Without Extra Software

You Don't Need Third-Party Renaming Tools

Renaming a hundred vacation photos or a folder of scanned invoices one at a time is a solved problem — Windows has had a built-in batch rename trick in File Explorer for years, and PowerShell handles anything more complex than File Explorer's simple sequential pattern. Neither requires installing anything.

Method 1: File Explorer's Built-In Batch Rename

This is the fastest option for simple sequential renaming, like turning a folder of photos into Vacation (1).jpg, Vacation (2).jpg, and so on.

  1. Open the folder containing the files.
  2. Select all of them with Ctrl + A, or select a specific subset by clicking the first, then Shift-clicking the last (or Ctrl-clicking individual files).
  3. Right-click any one of the selected files and choose Rename (or just press F2).
  4. Type the base name you want, e.g. Vacation, and press Enter.

Windows renames every selected file to Vacation.jpg, Vacation (1).jpg, Vacation (2).jpg, and so on, in the order they were sorted in the view. This works for any file type and scales fine to hundreds of files — it's a single atomic operation, not a loop that gets slower with more files.

Tip: sort the folder (by Name, Date, or Type) before selecting and renaming, since the sort order at the moment of renaming determines the numbering sequence.

Method 2: PowerShell for Anything More Complex

File Explorer's trick only does one thing: a base name plus incrementing numbers. For anything smarter — regex replacement, changing extensions in bulk, stripping prefixes, inserting dates — PowerShell's Rename-Item and Get-ChildItem combo handles it in one line.

Add a Prefix to Every File

Get-ChildItem "C:\Photos" | Rename-Item -NewName { "Trip_" + $_.Name }

Replace Text in Filenames

Get-ChildItem "C:\Invoices" | Rename-Item -NewName { $_.Name -replace "DraftV2", "Final" }

Change File Extensions in Bulk

Get-ChildItem "C:\Exports" -Filter "*.txt" | Rename-Item -NewName { $_.Name -replace '\.txt

        
        
Featured Infrastructure Partner

Deploy on High-Performance Hostinger Cloud

Get up to 75% OFF + free domain & SSL. Powering xube.me's sub-second response times.

Claim Discount ↗

Discussion & Insights

Related Technical Essays

, '.csv' }

Sequentially Number Files With Custom Padding

$i = 1
Get-ChildItem "C:\Scans" -Filter "*.jpg" | Sort-Object Name | ForEach-Object {
    $newName = "Scan_{0:D3}.jpg" -f $i
    Rename-Item $_.FullName -NewName $newName
    $i++
}

The {0:D3} format pads the number to three digits (001, 002, ...), which keeps files sorting correctly even past 99 items — plain sequential numbers without padding sort 1, 10, 11, 2, 3... alphabetically, which gets confusing fast.

Strip a Specific Prefix Using Regex

Get-ChildItem "C:\Downloads" | Rename-Item -NewName { $_.Name -replace '^IMG_\d{8}_', '' }

This removes camera-generated prefixes like IMG_20240815_ from filenames while leaving the rest intact.

Preview before you commit: a bad regex can silently overwrite or scramble filenames across an entire folder with no confirmation dialog. Run a dry run first by swapping Rename-Item for Select-Object Name, @{n='NewName';e={...}} to preview the resulting names before actually renaming anything:
Get-ChildItem "C:\Invoices" | Select-Object Name, @{Name="NewName";Expression={$_.Name -replace "DraftV2","Final"}}

Review the output table, and only run the actual Rename-Item version once it looks correct.

Method 3: Command Prompt's ren for Simple Wildcard Renames

For the simplest case — swapping an extension across an entire folder — plain ren in Command Prompt is a one-liner with no PowerShell needed:

ren *.jpeg *.jpg

Choosing the Right Method

Undoing a Mistake

None of these methods has a built-in "undo all" beyond Explorer's standard Ctrl + Z, which does work immediately after a File Explorer batch rename. For PowerShell renames, there's no automatic undo — this is exactly why the dry-run preview step above matters before running anything against hundreds of files at once.

Featured Infrastructure Partner

Deploy on High-Performance Hostinger Cloud

Get up to 75% OFF + free domain & SSL. Powering xube.me's sub-second response times.

Claim Discount ↗
Share Essay: 𝕏 Post LinkedIn Facebook WhatsApp Telegram Reddit
Buy Author Coffee

Discussion & Insights

Related Technical Essays