回复 6# 林小七
你的例子我是看明白了,但是下面从网上找到的大小写转换的代码没弄明白:- echo off
- setlocal enabledelayedexpansion
-
- set str=aA bB cC dD eE fF gG hH iI jJ kK lL mM nN oO pP qQ rR sS tT uU vV wW xX yY zZ
- for %%i in (%str%) do set "var=%%i" & set !var:~0,1!=%%i
-
- set "TS="
- set /P TS=请输入测试字符:
- for /l %%i in (0 1 100) do (
- set "T3=!TS:~%%i,1!"
- if "!T3!"=="" goto :Res
- if defined !T3! (
- call set T2=%%!T3!:~0,1%%
- if "!T3!"=="!T2!" call set T2=%%!T3!:~1,1%%) else set "T2=!T3!"
- set Res=!Res!!T2!
- )
- :Res
- echo.&echo 转换前:!TS!
- echo 转换后:!Res!
复制代码 疑问:
1)如果没有"setlocal enabledelayedexpansion"语句下面的set...和for...那2行,运行结果是不对的,有这2行就是正确的!
2)这2行语句中"!var:~0,1!=%%i",不知什么含义,难道是:取出var中的第一个字符然后被%%i赋值?一个常量怎么被赋值呢? |