|
ruisoft
初级用户
 
积分 93
发帖 57
注册 2007-3-12
状态 离线
|
『楼 主』:
[求助]从字符串中随机取字符
我想从字符串 WORDS 中随机取50个字符。本人写的代码如下,但得不到想要的结果。请高手们帮忙改正,本人先谢谢啦!
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET WORDS=abcdefghijklmnopqrstuvwxyz1234567890
SET STR=
FOR /L %%T IN (1,1,50) DO (
SET /A L=!RANDOM!%%36
SET WORD=%%WORDS:~!L!,1%%
SET STR=!STR!!WORD!
)
ECHO STR===!STR!
PAUSE
GOTO :EOF
变量 WORD 的赋值不正确!
[ Last edited by ruisoft on 2010-5-7 at 12:32 ]
|
|
2010-5-7 12:26 |
|
|
Hanyeguxing
银牌会员
     正在学习中的菜鸟...
积分 1039
发帖 897
注册 2009-3-1 来自 在地狱中仰望天堂
状态 离线
|
『第
2 楼』:
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
SET WORDS=abcdefghijklmnopqrstuvwxyz1234567890
FOR /L %%T IN (1,1,50) DO (
SET/A L=!RANDOM!%%36
CALL SET STR=!STR!%%WORDS:~!L!,1%%
)
ECHO STR===%STR%
PAUSE
|

批处理之家 http://bbs.bathome.net/forum-5-1.html |
|
2010-5-7 12:41 |
|
|
Hanyeguxing
银牌会员
     正在学习中的菜鸟...
积分 1039
发帖 897
注册 2009-3-1 来自 在地狱中仰望天堂
状态 离线
|
『第
3 楼』:
或者写成
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
SET WORDS=abcdefghijklmnopqrstuvwxyz1234567890
FOR /L %%T IN (1,1,50) DO (
SET/A L=!RANDOM!%%36
FOR %%J IN (!L!) DO SET STR=!STR!!WORDS:~%%J,1!
)
ECHO STR===%STR%
PAUSE 或是:
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
SET WORDS=abcdefghijklmnopqrstuvwxyz1234567890
FOR /L %%T IN (1,1,50) DO FOR /F %%J IN ('SET/A !RANDOM!%%36') DO SET STR=!STR!!WORDS:~%%J,1!
ECHO STR===%STR%
PAUSE [ Last edited by Hanyeguxing on 2010-5-7 at 12:50 ]
|

批处理之家 http://bbs.bathome.net/forum-5-1.html |
|
2010-5-7 12:44 |
|
|
ruisoft
初级用户
 
积分 93
发帖 57
注册 2007-3-12
状态 离线
|
『第
4 楼』:
CALL SET STR=!STR!%%WORDS:~!L!,1%%
此段代码如何理解?能否给个详细的说明呢?
|
|
2010-5-7 12:46 |
|
|
ruisoft
初级用户
 
积分 93
发帖 57
注册 2007-3-12
状态 离线
|
|
2010-5-7 12:47 |
|
|
Hanyeguxing
银牌会员
     正在学习中的菜鸟...
积分 1039
发帖 897
注册 2009-3-1 来自 在地狱中仰望天堂
状态 离线
|
|
2010-5-7 12:51 |
|
|
ruisoft
初级用户
 
积分 93
发帖 57
注册 2007-3-12
状态 离线
|
|
2010-5-7 12:56 |
|
|
Hanyeguxing
银牌会员
     正在学习中的菜鸟...
积分 1039
发帖 897
注册 2009-3-1 来自 在地狱中仰望天堂
状态 离线
|
|
2010-5-7 13:00 |
|