批处理如何把几个词语 随机组合? 200
如:你好中国大学正确......想随机让上面这些词随机组成如下:你好中国你好大学你好正确你好中国大学你好中国正确中国大学中国大学正确大学正确...........麻烦会写...
如:你好 中国 大学 正确 ......
想随机让上面这些词随机组成如下:
你好中国
你好大学
你好正确
你好中国大学
你好中国正确
中国大学
中国大学正确
大学正确
...........
麻烦会写批处理的帮我写一下,发到我邮箱kv878@qq.com 谢谢
注意,词不止4个,可能会有6-20个词左右,组出来的词不要重复 展开
想随机让上面这些词随机组成如下:
你好中国
你好大学
你好正确
你好中国大学
你好中国正确
中国大学
中国大学正确
大学正确
...........
麻烦会写批处理的帮我写一下,发到我邮箱kv878@qq.com 谢谢
注意,词不止4个,可能会有6-20个词左右,组出来的词不要重复 展开
1个回答
展开全部
::code by nameyu8023 cmd@Win8
@echo off
mode con: cols=80 lines=20
color 3b
title 获取随机字符串
echo\
echo\
echo 获取随机位数,随机长度字符串。
echo\
echo\
set "str=abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ@#$\/+-_[]{}~`?"
set /p str=字符串范围(默认a-z 0-9 A-Z 特殊字符)
echo %str%
set strbit=100
set /p strbit=获取次数(默认100):
echo %strbit%
set strlengths=20
set /p strlengths=最大长度(默认20):
echo %strlengths%
::-------------------------------------
setlocal enabledelayedexpansion
call :strnum 2000
for /l %%a in (1,1,!strbit!) do (
call :sj !strlengths!
title 第[%%a/%strbit%]次正在生成,长度[!sj!]位
for /l %%b in (1,1,!sj!) do (
call :sj !strnum!
call :str !sj!
set tmpstr=!tmpstr!!tmpstr1!
)
echo %%a. !tmpstr!
set tmpstr=
)
title Over
pause
exit
:strnum
for /l %%a in (1,1,%1) do (
if "!str:~%%a,1!"=="" (
set strnum=%%a
goto :eof
)
)
goto :eof
:sj
set /a sj=%random%%%%1
goto :eof
:str
set tmpstr1=!str:~%1,1!
goto :eof
这样的?
更多追问追答
追问
怎么用呢?不会用呢,麻烦告诉一下,谢谢
追答
输入你要组合的字符。
然后次数,长度。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询