廖学兵超级教师第二部:无聊用批处理弄个随机数生成器——给小G

来源:百度文库 编辑:中财网 时间:2024/04/25 03:55:14
无聊用批处理弄个随机数生成器——给小G2007-05-15 21:17

小G在群上问有谁熟悉EXCEL的操作,要求把1-100随机分到100个格里,之后在他的BLOG里看到那篇精神集中习惯训练;想弄一个这样的东西,但我接近于EXCEL白痴,所以就用批处理弄了个咯,代码如下:

@echo off
mode con cols=40 lines=12
title 随机数生成器
%random% 1>nul 2>nul

for /l %%i in (1,1,100) do call :RND %%i
echo.&set /p us=按N并回车生成下一批:
if /i "%us%"=="n" start /i "" cmd.exe /c "%0"
goto :EOF

:RND
set /a num=%random%%%100+1
if not defined rnd%num% (set rnd%num%=a) else goto :RND
set num=      %num%
set /a h=%1%%10
if %h% equ 0 (echo %num:~-3%) else (set /p=%num:~-3% goto :EOF

运行效果图,按一下N(大小写都可以)并回车可以生成下一批数字:

. 另外针对小G的要生成EXCEL文件的要求,我想了想:直接生成xls我是不知道方法的了,想了个折衷的方法,生成csv文件,同样是默认以EXCEL打开的文件,修改了一下代码,如下:

@echo off
title 随机数生成器
%random% 1>nul 2>nul
del 随机数.csv /f /q 1>nul 2>nul

for /l %%i in (1,1,100) do call :RND %%i
start "" 随机数.csv
goto :EOF

:RND
set /a num=%random%%%100+1
if not defined rnd%num% (set rnd%num%=a) else goto :RND
set /a h=%1%%10
if %h% equ 0 (echo %num% >>随机数.csv) else (set /p=%num%,>随机数.csv)
goto :EOF

效果图如下:

. 东西弄出来了,但我想我是不会去练习快速读出它们的^_^