Is there a way to batch rename files to lowercase?

Go to the directory and run the following command:

for /f "Tokens=*" %f in ('dir /l/b/a-d') do (rename "%f" "%f")

Here is the break-down in case someone wants to modify/improve :

  • for /f - For every line
  • "Tokens=*" - Process each item in every line.
  • %f in (...) - %f is your variable name for every item.
  • dir - lists every file and subdirectory in a directory.
  • /l - (parameter for dir) Uses lowercase.
  • /b - (parameter for dir) Uses bare format, only the file/directory names, no size, no headers.
  • /a-d - (parameter for dir) Do not list directories. (a stands for attribute, - stands for not and d stands for directory).
  • rename "%f" "%f"- rename the file with its own name, which is actually lowercased by the dir command and /l combination.

spacetornado Renamer is a Windows program that renames mass amounts of files in batches. You can search and replace text, remove a certain number of characters, change the case to lower, upper or First Letter Capital, and add text to the beginning or end (append/prepend) of every filename

enter image description here


Since Windows 7 you could use PowerShell for those tasks

Get-ChildItem "C:\path\to\folder" -recurse | 
  Where {-Not $_.PSIsContainer} | 
  Rename-Item -NewName {$_.FullName.ToLower()}

- Choose your root folder
- all files inside root folder and subfolders are renamed
- folder names are excluded with Where {-Not $_.PSIsContainer} |