找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27493|回复: 4

[数值计算] [已解决]BAT批处理如何生成随机排列组合

[复制链接]
发表于 2014-1-6 11:46:03 | 显示全部楼层 |阅读模式
本帖最后由 forliuning 于 2014-1-6 14:28 编辑

初学批处理应用,多次尝试不得要领,请教各位老师。

若有如下6组数值,每组有10个
如:
12,06,86,46,12,DF,55,SE,11,CA
F5,F4,DG,4S,6G,4S,65,ZG,14,65
ZS,D4,FG,SZ,1G,8S,ZD,4G,56,S4
GZ,SG,4S,D5,4G,FD,84,H5,6D,FY
7J,1T,Y6,K4,E6,84,54,87,E9,01
1K,HY,F1,K6,DR,4J,6R,D1,J5,RD
要求依次从每一组中随机抽取一个数值进行组合
结果显示其中一个随机组合结果并输出到1.TXT
例:466G8SFD01DR
呵呵,貌似密码卡的组合方式
十分感谢

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2014-1-6 13:03:26 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. set "arr1=12,06,86,46,12,DF,55,SE,11,CA"
  3. set "arr2=F5,F4,DG,4S,6G,4S,65,ZG,14,65"
  4. set "arr3=ZS,D4,FG,SZ,1G,8S,ZD,4G,56,S4"
  5. set "arr4=GZ,SG,4S,D5,4G,FD,84,H5,6D,FY"
  6. set "arr5=7J,1T,Y6,K4,E6,84,54,87,E9,01"
  7. set "arr6=1K,HY,F1,K6,DR,4J,6R,D1,J5,RD"
  8. For /L %%i in (1,1,6) do (
  9.     set /a rn=!random!%%10+1
  10.     call:next !rn! "!arr%%i!" str
  11. )
  12. echo !str!
  13. pause&exit
  14. :next
  15. for /f "tokens=%1 delims=," %%i in (%2) do set "%3=!%3!%%i"
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2014-1-6 14:09:42 | 显示全部楼层
回复 2# terse


学习了。十分感谢!!!
发表于 2014-1-6 15:38:59 | 显示全部楼层
powershell代码,都是些个简单的东西

  1. $a =  '12','06','86','46','12','DF','55','SE','11','CA' |Get-Random
  2. $b = 'F5','F4','DG','4S','6G','4S','65','ZG','14','65' |Get-Random
  3. $c = 'ZS','D4','FG','SZ','1G','8S','ZD','4G','56','S4' |Get-Random
  4. $d = 'GZ','SG','4S','D5','4G','FD','84','H5','6D','FY' |Get-Random
  5. $e = '7J','1T','Y6','K4','E6','84','54','87','E9','01' |Get-Random
  6. $f = '1K','HY','F1','K6','DR','4J','6R','D1','J5','RD' |Get-Random


  7. $结果 = "" + $a  + $b +  $c + $d + $e + $f
  8. Write-Host $结果
  9. #这个基本上就是,产生随机密码的脚本   
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2014-1-6 16:20:00 | 显示全部楼层
PS 练手

  1. $arr = @(
  2. "12,06,86,46,12,DF,55,SE,11,CA"
  3. "F5,F4,DG,4S,6G,4S,65,ZG,14,65"
  4. "ZS,D4,FG,SZ,1G,8S,ZD,4G,56,S4"
  5. "GZ,SG,4S,D5,4G,FD,84,H5,6D,FY"
  6. "7J,1T,Y6,K4,E6,84,54,87,E9,01"
  7. "1K,HY,F1,K6,DR,4J,6R,D1,J5,RD"
  8. )
  9. $str = foreach ( $a in $arr) {$a.split(",") | Get-Random}
  10. $str -join ""
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 02:30 , Processed in 0.028025 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表