用在你自己的程序中,可以使你的程序更漂亮。 @echo off mode con cols=113 lines=15 color 9f cls echo. echo程序正在初始化. . . echo. echo┌──────────────────────────────────────┐ set/p=■<nul for /L %%i in (1 1 38) do set /p a=■<nulping /n 1 127.0.0.1>nul echo 100%% echo└──────────────────────────────────────┘ pause 解说:“set /p a=■<nul”的意思是:只显示提示信息“■”且不换行,也不需手工输入任何信息,这样可以使每个“■”在同一行逐个输出。“ping /n 0 127.1>nul”是输出每个“■”的时间间隔,即每隔多少时间输出一个“■”。十一、特殊字符的输入及应用 开始 -> 运行 -> 输入cmd -> edit -> ctrl+p(意思是允许输入特殊字符)-> 按ctrl+a将会显示笑脸图案。 (如果要继续输入特殊字符请再次按ctrl+p,然后ctrl+某个字母) 以上是特殊字符的输入方法,选自[英雄]教程,很管用的。也就是用编辑程序edit输入特殊字符,然后保存为一文本文件,再在windows下打开此文件,复制其中的特殊符号即可。 一些简单的特殊符号可以在dos命令窗口直接输入,并用重定向保存为文本文件。 例: C:>ECHO ^G>temp.txt “^G”是用Ctrl+G或Alt+007输入,输入多个^G可以产生多声鸣响。 特殊字符的应用也很有意思,这里仅举一例:退格键 退格键表示删除左边的字符,此键不能在文档中正常输入,但可以通过edit编辑程序录入并复制出来。即“”。 利用退格键,可以设计闪烁文字效果 例:文字闪烁 @echo off :start set/p=床前明月光<nul ::显示文字,光标停于行尾 ping -n 0 127.0.0.1>nul ::设置延迟时间 set /p a=<nul :: 输出一些退格符将光标置于该行的最左端(退格符的数量可以自己调整)。 set /p a= <nul ::输出空格将之前输出的文字覆盖掉。 set /p a=<nul ::再次输出退格符将光标置于该行的最左端,这里的退格符数量一定不能比前面的空格数少。 ::否则光标不能退到最左端。 goto start 例:输出唐诗一首,每行闪动多次 @echo off setlocal enabledelayedexpansion set str=床前明月光 疑是地上霜 举头望明月 低头思故乡 ::定义字符串str for %%i in (%str%) do ( rem 由于str中含有空格,则以空格为分隔符将str中的每一个部分依次赋给变量%%i。 set char=%%i echo. echo. for /l %%j in (0,1,5) do ( set/p=!char:~%%j,1!<nul rem 依次取出变量char中的每一个字符,并显示。 ping -n 0 127.0.0.1>nul rem 设置输出每个字符的时间延迟。 ) call :hero %%i ) pause>nul exit :hero for /l %%k in (1,1,10) do ( ping /n 0 127.0.0.1>nul set /p a=<nul set /p a= <nul set /p a=<nul ping /n 0 127.0.0.1>nul set /p a=%1<nul ) ::文字闪动 goto :eof 十二、随机数(%random%)的应用技巧 %RANDOM% 系统变量 返回 0 到 32767 之间的任意十进制数字。由 Cmd.exe 生成。 2的15次方等于32768,上面的0~32767实际就是15位二进制数的范围。 那么,如何获取100以内的随机数呢?很简单,将%RANDOM%按100进行求余运算即可,见例子。 例:生成5个100以内的随机数 @echo off setlocal enabledelayedexpansion for /L %%i in (1 1 5) do ( set /a randomNum=!random!%%100 echo 随机数:!randomNum! ) pause 运行结果:(每次运行不一样) 随机数:91 随机数:67 随机数:58 随机数:26 随机数:20 请按任意键继续. . . 求余数运算set /a randomNum=!random!%%100中的100可以是1~32768之间的任意整数。 总结:利用系统变量%random%,求余数运算%%,字符串处理等,可以实现很多随机处理。 思考题目:生成给定位数的随机密码 解答思路:将26个英文字 |