批处理高手进来看看,在线等,急

来源:百度知道 编辑:UC知道 时间:2024/06/01 05:26:55
@echo off
title 随机数生成器
%random% 1>nul 2>nul
del 随机数.txt /f /q 1>nul 2>nul

for /l %%i in (1,1,100) do call :RND %%i
start "" 随机数.txt
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% >>随机数.txt) else (set /p=%num%,<nul>>随机数.txt)
goto :EOF

这个批处理可以随机生成50个1-100的数字,分成5行,现在我想修改下,也就是说运行这个批处理文件可以循环生成无限个,无限行,直到我终止他运行.要求和原来一样可以输出成为txt文本文档,一行十个数字!个位数,比如1,要在前面加上0,即1显示为01!谢谢,本人十分急,在线等!可以用其它的批处理命令来实现也可以,帮我完成这个,本人再追加100分.

首先声明一下,这个批处理是生成了100个数,并且这100个数各不相同,即1~100都出现且仅出现了一次。
如果要无限个随机数,显然就不能要求这些随机数各不相同了。
综合以下,可概括出要求:
1、生成1~100之内的随机数
2、要生成无限个,只到手动停止批处理
3、每行输出10个数
4、如果随机数小于10,则需在前面添加0

根据以上概括出来的要求,修改得批处理如下:
@echo off
title 随机数生成器
del 随机数.txt /f /q 1>nul 2>nul

:RND
set /a num=%random%%%100+1
if %num% LSS 10 (set num=0%num%)
set /a h+=1
set /a h%%=10
if %h% equ 0 (echo %num% >>随机数.txt) else (set /p=%num%,<nul>>随机数.txt)
goto :RND

如果是要生成0~99的随机数,只需将set /a num=%random%%%100+1句的+1删去即可。
要结束批处理,直接点击右上角的叉叉就可以了,或者在黑窗口中按Ctrl+C,或者按键盘上的pause键再点叉叉。