Windows batch file read text file and convert all to uppercase

10,656

The Batch file below do what you want, but if the file to convert is large this method is slow...

@echo off
setlocal EnableDelayedExpansion
for /F "delims=" %%a in (%1) do (
   set "line=%%a"
   for %%b in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
      set "line=!line:%%b=%%b!"
   )
   echo !line!
)

To use this program, place the name of the file in the first parameter. For example, if this Batch file is called TOUPPER.BAT:

toupper abc.txt

Note that this program eliminate empty lines and any exclamation mark existent in the file. These limitations may be fixed if needed, but the program becomes even slower...

Antonio

Share:
10,656
Omi Chiba
Author by

Omi Chiba

Updated on June 04, 2022

Comments

  • Omi Chiba
    Omi Chiba almost 2 years

    I just simply want to replace all the text in the text file convert to uppercase.

    For example of abc.txt

    [Before conversion] First Name, Last Name, Full Name Brad, Pitt, Brad Pitt

    [After conversion] FIRST NAME, LAST NAME, FULL NAME BRAD, PITT, BRAD PITT

    Is that possible??

  • Omi Chiba
    Omi Chiba about 11 years
    OH MY GOD! It worked!!! My file has only a few line so I don't have any problem with the performance either!!!
  • phuclv
    phuclv almost 7 years
    how does !line:%%b=%%b! work? Is string replacing in cmd case-insensitive?
  • Aacini
    Aacini almost 7 years
    @LưuVĩnhPhúc: yes