DOS/BAT

关注公众号 jb51net

关闭
首页 > 脚本专栏 > DOS/BAT > 字符串小写转大写

将字符串小写转大写并延时输出的批处理代码

作者:

有一字符串i like the bathome,because here is the batch of the world. 要求用批处理将字符串的所有字母转成大写并在屏幕上以打字的效果延时输出。
出题目的
1 掌握大、小写互换的技巧
2 掌握延时输出技巧
3 掌握字符截取技巧
解题要求
1 确保代码高效、通用
2 尽量简洁代码
3 不生成临时文件
加分规则
1 思路独特基准分5分
2 代码高效、通用基准分4分
3 技巧高超基准分3分
4 代码简洁基准分2分
5 完美代码加分15分
题目如下
有一字符串i like the bathome,because here is the batch of the world.
要求用批处理将字符串的所有字母转成大写并在屏幕上以打字的效果延时输出。
解题限制
暂无限制

batman:
复制代码 代码如下:

@echo off
set "str=i like the bathome,because here is the batch of the world."
set "code=A B C D E F G H I J K L N M O P Q R S T U V W X Y Z"
for %%i in (%code%) do call,set "str=%%str:%%i=%%i%%"
:lp
set /p=%str:~,1%<nul&set "str=%str:~1%"
for /l %%i in (1,1,200) do echo>nul
if defined str goto lp
pause>nul

 

terse:
复制代码 代码如下:

@echo off&setlocal EnableDelayedExpansion
set "str=i like the bathome,because here is the batch of the world."
for %%i 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 str=!str:%%i=%%i!
:lp
set/p=!str:~%n%,1!<nul
set/a n+=1
for /l %%j in (1,1,500) do ver>nul
if not "!str:~%n%,1!"=="" goto lp
pause>nul
您可能感兴趣的文章:
阅读全文