我试图设置两个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
答案 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%
用大写字母替换大写字母似乎很奇怪,但它有效。