set "str=%str:A=a%" 与 set "str=%str:a=a%" 效果一样
也就是,替换之前的字符不区分大小写,替换之后的字符才区分大小写
所以顶楼代码可以这样子:- @echo off
- setlocal enabledelayedexpansion
- set "str=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"
- set /p inp=输入大写字母:
- for %%i in (!str!) do (
- set "inp=!inp:%%i=%%i!"
- )
- echo,!inp!
- pause
复制代码 如果一定要用 set str=A=a B=b C=c...
那就先把等号两端的字符用双引号包围起来(转义),像这样:- for %%i in ("!str: =" "!") do (
- set "inp=!inp:%%~i!"
- )
复制代码
|