Bulk & Automation

How to Batch Rename Files on Windows 10

Windows 10 gives you more built-in ways to rename a folder full of files than most people realize, and you do not need to install anything to get started. Between File Explorer, Command Prompt, and PowerShell, the operating system ships with three separate batch-rename paths, and Microsoft's free PowerToys adds a fourth that handles find-and-replace and regex. This guide walks through each one in the order most Windows 10 users will actually reach for them, from the two-second F2 trick to a PowerShell one-liner that previews every change before it touches a single file. Every method here works on a standard Windows 10 install, and the examples use real filenames so you can see exactly what comes out the other side.

Method 1: File Explorer F2 Batch Numbering

The fastest built-in option on Windows 10 is the one hiding in plain sight. Open the folder in File Explorer, select every file you want to rename (Ctrl+A selects all, or hold Ctrl and click to pick specific files), press F2, type the base name you want, and press Enter. Windows applies that name to the whole selection and appends a sequential counter in parentheses to keep each file unique.

So if you select a batch of camera files named DSC01234.JPG, DSC01235.JPG, and DSC01236.JPG, press F2, type Trip_Day1, and hit Enter, you get Trip_Day1 (1).jpg, Trip_Day1 (2).jpg, and Trip_Day1 (3).jpg. The numbering follows the order the files are sorted in the window, so set your sort (by name, by date taken) before you rename. This is the classic Windows 10 select-all-plus-F2 behavior, and it is genuinely the quickest way to turn a folder of meaningless names into a numbered set.

The catch is that F2 numbering is all it does. You get a base name and a counter, nothing more. You cannot inject the date, strip an unwanted prefix, or change only part of each name. For that you need one of the methods below.

Method 2: The Windows 10 Right-Click Context Menu

The right-click route reaches the same rename field, and on Windows 10 it is worth calling out because of what it does not make you do. Select your files, right-click the selection, and choose Rename straight from the top-level context menu. That single-click access is a small but real Windows 10 advantage: Windows 11 moved many actions behind a compact menu that forces an extra Show more options click to reach the classic commands. On Windows 10 the Rename entry is right there on the first menu you see, so the workflow stays two clicks instead of three.

Once you pick Rename, Windows drops you into the same inline edit field the F2 key opens, and the same numbered-batch behavior applies. Type your base name, press Enter, and the selection is renamed with the (1)(2)(3) counter. Think of the context menu and F2 as two doors into the same room: use whichever fits your hands. The right-click path is handy when your selection is already made and you would rather not move to the keyboard, while F2 wins when you are already keyboard-driven.

Method 3: Command Prompt (CMD) With ren and FOR

When you need pattern-based renaming rather than simple numbering, Command Prompt is the first native tool that gives it to you. Open the folder, click the address bar, type cmd, and press Enter to launch a prompt already pointed at that directory.

The ren command with wildcards handles the common jobs. To swap every .jpeg extension to .jpg, run ren *.jpeg *.jpg and every matching file changes at once. To retag a whole batch, ren IMG_*.jpg Vacation_*.jpg keeps the trailing characters that the asterisk matches while replacing the fixed prefix, so IMG_0042.jpg becomes Vacation_0042.jpg across the folder.

For anything ren cannot express on its own, a FOR loop gives you real control. Running for %f in (*.jpg) do ren "%f" "Archive_%f" walks every JPG in the folder and prefixes each one, turning DSC01234.jpg into Archive_DSC01234.jpg. FOR loops are also where you script conditional or counter-based renames, though the syntax gets fiddly fast. CMD is the right pick when you already live in the terminal or you want a rename you can drop into a batch file and reuse, but it has no preview, so test on a copy first.

Method 4: PowerShell With Rename-Item and -WhatIf

PowerShell is the most capable native option on Windows 10, and its killer feature for batch renaming is a built-in dry run. The pattern is Get-ChildItem piped into Rename-Item, and because Rename-Item accepts the -replace operator you can transform names with plain matching or full regular expressions.

A typical find-and-replace looks like this: Get-ChildItem *.jpg | Rename-Item -NewName { $_.Name -replace 'DSC', 'Trip_Day1_' }. That rewrites DSC01234.JPG into Trip_Day1_01234.jpg for every file the pattern catches. Because the -replace operator is regex-aware, you can do things CMD simply cannot, like stripping a variable-length prefix or reformatting a date buried in the filename.

The part that makes PowerShell safe for a big batch is the -WhatIf switch. Append -WhatIf to the command and PowerShell prints exactly what each rename would do without changing anything on disk. You read the preview, confirm every DSC01234.JPG to Trip_Day1_01234.jpg line looks right, then rerun the same command with -WhatIf removed to commit. That preview-then-apply loop is why PowerShell is the method to reach for when the batch is large or the pattern is complex enough that a mistake would be painful to undo.

Method 5: PowerToys PowerRename on Windows 10

If regex is the right tool but a terminal is not your comfort zone, Microsoft's free PowerToys fills the gap. Install PowerToys from Microsoft, enable the PowerRename module, and it adds a PowerRename entry to the Windows 10 right-click menu. Select your files, choose PowerRename, and you get a dialog with a search field, a replace field, a regex toggle, and, crucially, a live preview pane that shows the new name next to the old one for every file before you commit.

PowerRename is the friendliest way to do a regex rename on Windows 10 because you see the result as you type. Enter a search pattern, watch the preview column update, and only click Apply once every row reads the way you want. It handles case changes, enumerated counters, and scoped replacements (name only, extension only, or both) without a single line of script. For most people it is the sweet spot between the raw power of PowerShell and the simplicity of F2 numbering.

Which Method Should You Use?

Each of these tools is built for a different job. The table below lines them up by what they are best at, whether they support regular expressions, and whether they show you a preview before committing the change.

MethodBest forRegexPreview
File Explorer F2 / right-clickFast sequential numbering of a selectionNoNo (applies on Enter)
PowerToys PowerRenameFind-and-replace and regex without scriptingYesYes (live preview pane)
CMD / PowerShellScripted, repeatable, pattern-based renamesPowerShell yes, CMD wildcards onlyPowerShell -WhatIf only

In short: F2 for numbering, PowerRename for a visual regex rename, and CMD or PowerShell when you want a rename you can script and rerun. Most Windows 10 users end up keeping two of these in rotation, F2 for the quick jobs and PowerRename or PowerShell for the ones that need a pattern.

What None of These Can Do: Scanned Files and Images

There is one limit every method above shares, and it is worth being clear about before you build a workflow around them. F2, PowerRename, CMD, and PowerShell all rename based on the text that is already in the filename. None of them can read what is inside the file. If your folder is full of scanned documents named scan0047.pdf or camera images named DSC01234.JPG, these tools can renumber or reformat those names, but they cannot look at the invoice, contract, or receipt on the page and name the file after its actual contents.

That gap matters most with scanned paperwork. A folder of PDF scans might all say Document (1).pdf through Document (140).pdf after an F2 pass, which is tidier but tells you nothing about which invoice or which vendor each one holds. Reading the content of a scan or an image to derive a meaningful name requires OCR, and that is a different class of tool from a batch renamer. Renamer.ai is built for exactly this: it reads the text inside each PDF or image and names the file from what it finds, so scan0047.pdf becomes something like Acme_Invoice_2024-03_1420.pdf without you opening it. The honest differentiator is simple: Windows 10's native tools rewrite the names you already have, while content-aware renaming creates names from information the file has never carried in its title. If you want to compare the options that go beyond what Windows ships with, start with a broader roundup of bulk rename software.

Frequently Asked Questions

How do I batch rename files in Windows 10?

Select the files in File Explorer, press F2, type a base name, and press Enter. Windows 10 renames the whole selection and adds a sequential counter in parentheses, so Trip_Day1 becomes Trip_Day1 (1), Trip_Day1 (2), and so on. For find-and-replace or regex renames, use PowerToys PowerRename or PowerShell instead.

How do I batch rename with Command Prompt on Windows 10?

Open the folder, type cmd in the address bar, and press Enter. Use ren with wildcards for simple jobs, for example ren *.jpeg *.jpg to change every extension, or ren IMG_*.jpg Vacation_*.jpg to swap a prefix. For more control, use a FOR loop like for %f in (*.jpg) do ren "%f" "Archive_%f" to prefix every file. Command Prompt has no preview, so test on a copy first.

Does Windows 10 have a built-in bulk rename tool?

Yes. Windows 10 has three built-in paths: File Explorer F2 numbering, Command Prompt (ren and FOR loops), and PowerShell (Rename-Item). Microsoft also offers the free PowerToys download, whose PowerRename module adds regex-based bulk renaming with a live preview to the right-click menu.

How do I rename files with PowerShell on Windows 10?

Pipe Get-ChildItem into Rename-Item with the -replace operator, for example Get-ChildItem *.jpg | Rename-Item -NewName { $_.Name -replace 'DSC', 'Trip_Day1_' }. Append -WhatIf to preview every change without touching the files, then rerun the command without -WhatIf to apply it. The -replace operator supports full regular expressions.

How do I undo a batch rename in Windows 10?

Right after a File Explorer or PowerRename batch rename, press Ctrl+Z to undo it, and repeat if the batch renamed many files. Undo does not cover Command Prompt or PowerShell renames, which is why previewing with PowerShell's -WhatIf switch or PowerRename's preview pane before you apply is the safer habit for large batches.