将“set”转换为小写

Sel*_*man 5 powershell batch-file cmd.exe

我正在处理一个需要昵称(但要大写)的 .bat 文件

set /p nickname="Please enter your uppercase name!:
Run Code Online (Sandbox Code Playgroud)

我想知道我是否可以使蝙蝠存储原始(大写)昵称和全小写昵称。

所以我可以这样做

%nickname%\files\avatar\1.png
Run Code Online (Sandbox Code Playgroud)

或者

%nickname_lowercase%\files\avatar\1.png
Run Code Online (Sandbox Code Playgroud)

我不想向用户询问小写昵称,我只是希望它将用户输入的内容转换为小写并将其存储在“集合”或其他内容中。有点复杂,抱歉没能解释清楚。

Dav*_*ill 2

如何将变量的内容转换为小写?

使用以下批处理文件:

SETLOCAL ENABLEDELAYEDEXPANSION
set /p nickname="Please enter your uppercase name!:
rem save the name, use "s in case there are space in the name
set "_UpperNick=nickname"
call LoCase nickname
set "_LowerNick=nickname"
echo _UpperNick
echo _LowerNick
ENDLOCAL
GOTO:EOF

:LoCase
:: Subroutine to convert a variable VALUE to all lower case.
:: The argument for this subroutine is the variable NAME.
SET %~1=!%~1:A=a!
SET %~1=!%~1:B=b!
SET %~1=!%~1:C=c!
SET %~1=!%~1:D=d!
SET %~1=!%~1:E=e!
SET %~1=!%~1:F=f!
SET %~1=!%~1:G=g!
SET %~1=!%~1:H=h!
SET %~1=!%~1:I=i!
SET %~1=!%~1:J=j!
SET %~1=!%~1:K=k!
SET %~1=!%~1:L=l!
SET %~1=!%~1:M=m!
SET %~1=!%~1:N=n!
SET %~1=!%~1:O=o!
SET %~1=!%~1:P=p!
SET %~1=!%~1:Q=q!
SET %~1=!%~1:R=r!
SET %~1=!%~1:S=s!
SET %~1=!%~1:T=t!
SET %~1=!%~1:U=u!
SET %~1=!%~1:V=v!
SET %~1=!%~1:W=w!
SET %~1=!%~1:X=x!
SET %~1=!%~1:Y=y!
SET %~1=!%~1:Z=z!
GOTO:EOF
Run Code Online (Sandbox Code Playgroud)

批处理文件 - 如何...将字符串转换为大写或小写