中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 02:28
48,040 主题排行 / 350,125 发帖 / 今日 1 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何随机生成10个3位数的文件
可打印版本  1,109 / 11
第1楼 juventusryp 发表于 2007-03-04 05:32
初级用户 发帖 40 积分 88
如何随机生成10个3位数的文件
几天前看到论坛一个帖子,是随机生成三位数便想出了这个
自己在家写出了一段代码是先生成三位数然后在用FOR /L生成10个文件
最后用REN *.txt %x%.txt
可是不知道为什么每次只能改变一个文件,不知道为什么...
请高人解答
第2楼 slore 发表于 2007-03-04 05:45
铂金会员 发帖 2,478 积分 5,212
REN *.txt %x%.txt

所有的txt改成一个固定的名字。。。。那么改了一个以后,剩下的全错误(存在一个重名文件,或是找不到文件。)
第3楼 juventusryp 发表于 2007-03-04 05:47
初级用户 发帖 40 积分 88
那应该怎么解决...我试过用FOR解决,可是不行...用REN后,只有一个文件是3位数字,其他仍是2.TXT,3.TXT.....
第4楼 slore 发表于 2007-03-04 05:50
铂金会员 发帖 2,478 积分 5,212
for /l %%i in (1,1,10) do (

你的设置%X%的代码放到这里
REN %%i.txt %x%.txt
)
第5楼 juventusryp 发表于 2007-03-05 04:17
初级用户 发帖 40 积分 88
楼上的意思没听懂?象这样吗
@echo off
setlocal ENABLEDELAYEDEXPANSION
for /l %%i in (1,1,3) do (
echo %random% >nul
set x=!random:~-1!
)
set x=!random:~-3!

for /l %%k in (1,1,10) do (ren %%k.txt %x%.txt)
第6楼 slore 发表于 2007-03-05 08:33
铂金会员 发帖 2,478 积分 5,212
怎么没懂?

你原来是REN *.txt %x%.txt
当然不行!
第7楼 juventusryp 发表于 2007-03-05 09:45
初级用户 发帖 40 积分 88
@echo off
setlocal enabledelayedexpansion
for /l %%i in (1 1 10) do (
set /a a=!random!%%9+1,b=!random!%%9+1,c=!random!%%9+1
cd.>!a!!b!!c!.txt)
pause
在 群里的人帮助下会了,也谢谢SLORE啦
第8楼 look 发表于 2008-01-02 16:08
新手上路 发帖 10 积分 17
来支持下~
第9楼 fangjin163 发表于 2008-01-02 16:28
新手上路 发帖 20 积分 18
第10楼 haiou327 发表于 2008-01-02 22:15
高级用户 发帖 348 积分 713
又学到了
第11楼 zh159 发表于 2008-01-03 10:27
金牌会员 发帖 1,467 积分 3,687
Originally posted by juventusryp at 2007-3-5 09:45:
@echo off
setlocal enabledelayedexpansion
for /l %%i in (1 1 10) do (
set /a a=!random!%%9+1,b=!random!%%9+1,c=!random!%%9+1
cd.>!a!!b!!c!.txt)
pause
在 群里的人帮助下会了,也谢谢SLORE啦

这样有可能会出现相同的3位数字

加入判断是否存在已有数字:
第12楼 422904z 发表于 2008-01-03 15:34
初级用户 发帖 37 积分 74
不错,很好
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023