Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've 80.000 files in a folder and I need to rename all them from




in Windows environment, I guess from dos. The reason is that I've compressed these files into a tar.gz from unix and copied into windows and for some reason the filenames have changed.

Could you tell me what's the command to do it ? thanks

share|improve this question
up vote 3 down vote accepted

You can use the built in rename or ren command:

ren *.jpg ._*.jpg

Though, as with all these things, try it on a directory containing just a few files first.

share|improve this answer
I like your approach, but i have 2 issues: (1) the first letters of the filenames are replaced. In other terms, the "._" is not added at the beginning but it replaces the first 2 letters. (2) "._" actually doesn't work. If I use, for instance "__" then it works. I think the dot, "." gives some issues – Patrick Apr 20 '11 at 12:02
@Patrick - I must admit I didn't have chance to fully test this this, and yes I think you're right about the dot causing problems. – ChrisF Apr 20 '11 at 12:05
This is incorrect and it's not because of the dots. ren can only replace text with text of the same length. For example, if you have files file1.txt and file2.txt, ren file*.txt blah*.txt does what you expect (you now have files blah1.txt and blah2.txt). However, if you then type ren blah*.txt myfile*.txt the command bombs out because it renames blah1.txt to myfile.txt (not myfile1.txt) and then cannot rename blah2.txt to myfile.txt because that file already exists. – David Richerby Sep 14 '14 at 11:51

Here's a way using PowerShell:

Navigate to your folder and run this command

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

Extra bonus short version:

gci *.jpg | ren -newname {"._" + $_.Name}
share|improve this answer

I have 2 solutions:

  1. all files is in the same folder

    • run the following dos command line in the root folder:

      for /f "delims=¯" %i in ('dir /b /on') do ren "%i" "._%i"
  2. complete solution when there are files in subfolders AND when you wanna to replace the "n" first characters with a string you want :D

    • create a batch file with the following command
    • change variable parameters to what you want
      • path: put inside "" the root path of your files (e.g. "C:\documents and settings\user\desktop\new folder"
      • numfirstchars2replace: put a number with the first characters to reclace (in your case, 2)
      • str2put: put a string to be added as a prefix of the new filename (in your case, "._", without "")
    • run it in a folder different from where the files are

@echo off

::only to tell user what this bat are doing

::enable that thing to allow, for example, incremental counter in a for loop :)
echo.- EnableDelayedExpansion
SETLOCAL EnableDelayedExpansion

echo.- variables
:: - place here the absolute root path of your files
set path="put here where are the root folder of your files"
set pathbak=%cd%
set numfirstchars2replace=2
set str2put=._

::go to %path% and its driveletter
echo.- entering the path you want
for /f "delims=¯" %%i in ('echo.%path%') do %%~di
cd %path%

::search all subfolders and save them to a temp file
echo.- searching for subfolders
for /f "delims=¯" %%i in ('dir /s /b /on /ad') do echo."%%i">>%temp%\tmpvar.txt

::execute command for root folder and all found subfolders
for /f "delims=¯" %%i in (%temp%\tmpvar.txt) do (
  cd %%i
  echo.- in folder: %%i
  for /f "delims=¯" %%j in ('dir /b /on /a-d') do (
    set newname=%%j
    set newname=!newname:~%numfirstchars2replace%,1000!
    echo.- renaming from "%%j" to "%str2put%!newname!"...
    ren "%%j" "%str2put%!newname!"

::return to %pathbak% and its driveletter
for /f "delims=¯" %%i in ('echo.%pathbak%') do %%~di
cd %pathbak%

@echo on
share|improve this answer
fully tested :) it solves your problem, including with some specs you give in @ChrisF comment. note: in "delims=¯", if "¯" is used in a filename, change "¯" with another character you know that is not used in the filenames – kokbira Apr 20 '11 at 14:12
voted up because of your incredibly long script to just do a loop and rename sth. :) – wullxz Apr 20 '11 at 22:27
well, justly, I could make a "for /f" loop with all files sorted by name and then renaming them to "._lenameX.jpg" with X as the order number, but I thought in a way to do it for other cases - if in future a similar problem appears, someone can modify some commands... – kokbira Apr 22 '11 at 7:38
you can use "delims=" instead of "delims=¯" (I forgot that :D). also you can use for /f intead of for /f "delims=" because it does what I want in that case... – kokbira Apr 25 '11 at 12:56

If they are all in the same folder, you could select them all with Control + A and then hit F2 to rename one of them. All subsequent files will be named file(2), file(3), etc

share|improve this answer

Try Powershell (preinstalled in Windows 7):

Get-Childitem /path/to/your/files | foreach-object { move-item $_ $("._" + $ }

(tested it in my download-dir.)

Edit: Siim K's code will append an additional ".jpg" to every "._filename.jpg". Remove that last ".jpg" in Siim K's code and you have a short, elegant code to rename your files.

share|improve this answer
thanks, updated. Re-used code from a similar rename command which required the extension manipulation and didn't notice. – Siim K Apr 20 '11 at 12:05

Total Commander has a really nice multi-renaming tool.

share|improve this answer

I've always found Flash Renamer to be a good tool for renaming files in batches.

It has trial and full versions ($20) and can rename files based on meta data - very useful for renaming MP3 files which I what I use it for mostly.

share|improve this answer

If your looking for a user friendly way of renaming in bulk you could try the free tool Ant Renamer, there's a huge list of actions you can take and it also gives a handy preview before you do any renaming. I use it a lot when messing with my music, photo or video librarys.

share|improve this answer

I have used this freeware File Renamer program with great results. Many different filters and options, plus it gives you the ability to test results. A little outdated UI perhaps but works like a champ.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .