|  | 
 
| juventusryp 初级用户
 
   
 
 
 
 积分 88
 发帖 40
 注册 2006-12-26
 状态 离线
 | 
| 『楼 主』:
 如何随机生成10个3位数的文件
 
使用 LLM 解释/回答一下 
 
 
几天前看到论坛一个帖子,是随机生成三位数便想出了这个自己在家写出了一段代码是先生成三位数然后在用FOR /L生成10个文件
 最后用REN *.txt %x%.txt
 可是不知道为什么每次只能改变一个文件,不知道为什么...
 请高人解答
 
 
 
 
 |  | 
|  2007-3-4 05:32 |  | 
|  | 
 
| slore 铂金会员
 
        
 
 
 
 积分 5212
 发帖 2478
 注册 2007-2-8
 状态 离线
 | 
| 『第 2 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
REN *.txt %x%.txt
 所有的txt改成一个固定的名字。。。。那么改了一个以后,剩下的全错误(存在一个重名文件,或是找不到文件。)
 
 
 
 
 |  | 
|  2007-3-4 05:45 |  | 
|  | 
 
| juventusryp 初级用户
 
   
 
 
 
 积分 88
 发帖 40
 注册 2006-12-26
 状态 离线
 | 
| 『第 3 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
那应该怎么解决...我试过用FOR解决,可是不行...用REN后,只有一个文件是3位数字,其他仍是2.TXT,3.TXT..... 
 
 
 
 |  | 
|  2007-3-4 05:47 |  | 
|  | 
 
| slore 铂金会员
 
        
 
 
 
 积分 5212
 发帖 2478
 注册 2007-2-8
 状态 离线
 | 
| 『第 4 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
for /l %%i in (1,1,10) do (
 你的设置%X%的代码放到这里
 REN %%i.txt %x%.txt
 )
 
 
 
 
 |  | 
|  2007-3-4 05:50 |  | 
|  | 
 
| juventusryp 初级用户
 
   
 
 
 
 积分 88
 发帖 40
 注册 2006-12-26
 状态 离线
 | 
| 『第 5 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
楼上的意思没听懂?象这样吗@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)
 
 
 
 
 |  | 
|  2007-3-5 04:17 |  | 
|  | 
 
| slore 铂金会员
 
        
 
 
 
 积分 5212
 发帖 2478
 注册 2007-2-8
 状态 离线
 |  | 
|  2007-3-5 08:33 |  | 
|  | 
 
| juventusryp 初级用户
 
   
 
 
 
 积分 88
 发帖 40
 注册 2006-12-26
 状态 离线
 | 
| 『第 7 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
@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啦
 
 
 
 
 |  | 
|  2007-3-5 09:45 |  | 
|  | 
 
| look 新手上路
 
  
 
 
 积分 17
 发帖 10
 注册 2007-5-22
 状态 离线
 |  | 
|  2008-1-2 16:08 |  | 
|  | 
 
| fangjin163 新手上路
 
  
 
 
 
 积分 18
 发帖 20
 注册 2007-6-10
 状态 离线
 |  | 
|  2008-1-2 16:28 |  | 
|  | 
 
| haiou327 高级用户
 
     DOS时空
 
 
 积分 713
 发帖 348
 注册 2007-2-10
 状态 离线
 |  | 
|  2008-1-2 22:15 |  | 
|  | 
 
| zh159 金牌会员
 
       
 
 
 积分 3687
 发帖 1467
 注册 2005-8-8
 状态 离线
 | 
| 『第 11 楼』:
 
 
使用 LLM 解释/回答一下 
 
 
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位数字
 
加入判断是否存在已有数字:
 @echo off :loop
 call set randomstr=%%random:~-1%%%%random:~-1%%%%random:~-1%%
 for %%n in (%str%) do if %randomstr% == %%n goto loop
 set str=%str% %randomstr%
 set /a n+=1
 echo %n%	%randomstr%
 if %n% lss 10 goto loop
 pause
 
 
 
 
 
 |  
                  |  
  |  | 
|  2008-1-3 10:27 |  | 
|  | 
 
| 422904z 初级用户
 
   
 
 
 
 积分 74
 发帖 37
 注册 2007-6-28
 状态 离线
 |  | 
|  2008-1-3 15:34 |  |