大写变量

时间:2017-11-16 17:52:11

标签: batch-file

我试图设置两个vars大写,有人可以帮忙解决这个错误吗?

var1和var2只有一个字母,例如a或d。 这并没有给出任何错误,只是把两个var放在同一个字母上。

顺便说一下我在bat文件中使用它

感谢

@ECHO OFF
Setlocal EnableDelayedExpansion
SET /p var1=a
SET /p var2=d
set /a "x = 1"
:while1
if %x% leq 2 (
if %x% EQU 1 (SET varvel=!var1!)
if %x% EQU 2 (SET varvel=!var2!)
    IF [%varvel%]==[] GOTO:invaliddat

        SET varvel=%varvel:a=A%
        SET varvel=%varvel:b=B%
        SET varvel=%varvel:c=C%
        SET varvel=%varvel:d=D%
        SET varvel=%varvel:e=E%
        SET varvel=%varvel:f=F%
        SET varvel=%varvel:g=G%
        SET varvel=%varvel:h=H%
        SET varvel=%varvel:i=I%
        SET varvel=%varvel:j=J%
        SET varvel=%varvel:k=K%
        SET varvel=%varvel:l=L%
        SET varvel=%varvel:m=M%
        SET varvel=%varvel:n=N%
        SET varvel=%varvel:o=O%
        SET varvel=%varvel:p=P%
        SET varvel=%varvel:q=Q%
        SET varvel=%varvel:r=R%
        SET varvel=%varvel:s=S%
        SET varvel=%varvel:t=T%
        SET varvel=%varvel:u=U%
        SET varvel=%varvel:v=V%
        SET varvel=%varvel:w=W%
        SET varvel=%varvel:x=X%
        SET varvel=%varvel:y=Y%
        SET varvel=%varvel:z=Z%

if %x% EQU 1 (set var1=!varvel!)
if %x% EQU 2 (set var2=!varvel!)
set /a "x = x + 1"
goto :while1
)
echo %var1% 
echo %var2%
Pause

1 个答案:

答案 0 :(得分:0)

有点短:

@echo off
setlocal enabledelayedexpansion
set "var=The quick brown fox jumps over the lazy dog."
for %%a 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 "var=!var:%%a=%%a!"
echo %var%

用大写字母替换大写字母似乎很奇怪,但它有效。