Batch - Converting variable to uppercase

前端 未结 8 1760
一向
一向 2020-12-02 01:39

How would I go about changing the destl variable to uppercase before it is used. I assume some sort of character swap, however I couldn\'t get it working. C

8条回答
  •  甜味超标
    2020-12-02 02:12

    This is pointless since env var names and file names are both case insensitive. But if you insist you can do it like this:

    @echo off
    
    setlocal enabledelayedexpansion
    set lower=john smith 123
    set alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZ
    set i=0
    :letter
    set !alpha:~%i%,1!_=!alpha:~%i%,1!
    set /a i += 1
    if %i% LSS 26 goto letter
    set i=0
    set upper=
    :uppercase
    set let=!lower:~%i%,1!
    if "%let%" == "" goto done
    if defined %let%_ (set upper=%upper%!%let%_!) else (set upper=%upper%%let%)
    set /a i += 1
    goto uppercase
    :done
    echo %upper%
    

提交回复
热议问题