标题: [文本处理] 批处理如何生成固定字符串+随机数? [打印本页]
作者: bh62549 时间: 2019-10-24 13:44 标题: 批处理如何生成固定字符串+随机数?
在论坛上查了很多教程,有现成bat。就是没有固定字符串+随机数。
固定=https://www.2345.com/
随机16位大写字母数字=2ICJ1S06DANS4W57
组合=https://www.2345.com/2ICJ1S06DANS4W57
经常先在网上免费生成随机网站上生成一定数量的随机,再手动复制到固定字串后面。
求个bat最好能检查去重复,生成的字符串能有换行(两组字符串中间有一空行),能一次生成60组以上,
----------------------------------------------------------------------------------------------------------------------
https://www.2345.com/FECJ1S06DANHGW51
https://www.2345.com/KRCJ1S06DANDFW52
https://www.2345.com/HTYJ1S06DANGFW53
https://www.2345.com/MCCJ1S06DANSCW54
类似这样的效果
作者: xczxczxcz 时间: 2019-10-24 15:24
批处理生成这种随机大写:先设定一串26个大写字母,再通过随机一串数字与某某的余数之类来截取位置的字母,再拼起来。很累的。大致过程就是介样子。
作者: bh62549 时间: 2019-10-24 19:56
批处理生成这种随机大写:先设定一串26个大写字母,再通过随机一串数字与某某的余数之类来截取位置的字母, ...
xczxczxcz 发表于 2019-10-24 15:24
如果是单纯数字不要字母呢???
作者: Batcher 时间: 2019-10-24 21:34
回复 3# bh62549
你在论坛找到的哪个代码能生成符合要求的随机数,发出来,我告诉你怎么添加固定字符串。
作者: 505250350 时间: 2019-10-25 07:34
- @echo off & setlocal enabledelayedexpansion
-
- ::固定字符串
- set "s1=https://www.2345.com/"
- ::随机位数
- set /a ws=16
- ::一次生成组数
- set /a zs=120
-
- set /a a=0
- set /a b=0
- set "s2="
- set "str=ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
- del str.txt 1>nul 2>nul
-
- :mm
- set /a r=!random!%%36
- set s2=%s2%!str:~%r%,1!
- set /a a+=1
- if %a% lss %ws% goto mm
- (echo %s1%%s2%&echo.)>>str.txt
- set "s2="
- set /a a=0
- set /a b+=1
- if %b% lss %zs% goto mm
复制代码
作者: codegay 时间: 2019-10-25 11:47
本帖最后由 codegay 于 2019-10-25 13:14 编辑
nim语言版,之前写过的.稍稍改下了- import os, random, times
-
- var t = epochTime()
- randomize()
-
- let chars = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A',
- 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',
- 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
-
- # 随机字符的长度
- let strcounter = 16
-
- let linecounter = 1000000
-
- #输出文件
- var f = open(getAppDir() / "result.txt", fmAppend)
-
- for i in 1 .. linecounter:
- var str = "bathome.com我带你们打"
- for n in 1 .. strcounter:
- str.add(sample(chars))
- str.add("\r\n")
- str.add("\r\n")
- f.write(str)
- f.close()
-
-
- echo epochTime() - t
复制代码
我编译好的可执行文件72小时内可下载:
编译参数 nim c -d:danger snake.nim
https://c-t.work/s/65a89db4b96c44
作者: xczxczxcz 时间: 2019-10-26 16:24
来个优雅点的?- $int=(65..90)+(48..57);
- for($i=1;$i -le 60;$i++){'https://www.2345.com/'+(-join (1..16|%{[char][int](Get-Random $int)}))}
复制代码
作者: xczxczxcz 时间: 2019-10-26 16:27
- $int=(65..90)+(48..57);1..60|%{'https://www.2345.com/'+(-join (1..16|%{[char][int](Get-Random $int)}))}
复制代码
作者: 523066680 时间: 2019-10-26 17:10
say join "", map { ('0'..'9','A'..'Z')[rand(36)] } (1..16) for (1..60);
骆驼
作者: terse 时间: 2019-10-26 22:46
本帖最后由 terse 于 2019-10-27 23:16 编辑
上面加个参数- 1..60|%{'https://www.2345.com/'+-join($(Get-Random (48..57 + 65..90) -count 16)|%{[char]$_})}
复制代码
让它短一点- 1..60|%{'https://www.2345.com/'+-join([char[]](48..57 + 65..90)|Get-Random -Count 16)}
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |