标题: [文本处理] 批处理怎样随机组合文本里面每行数字或者汉字? [打印本页]
作者: kabamei 时间: 2010-11-22 12:40 标题: 批处理怎样随机组合文本里面每行数字或者汉字?
批处理随即组合文本里面每一行数字或者汉字想用批处理解决下面的数字或者词语组合的问题,但是不知道从哪里下手。
比如说1.txt文本文档里面有
abs1
abs2
abs3
abs4
abs5
abs6
.
.
.
.
absn
这些数字
我想组合成下面这种形式。
abs1_(abs1到absN里面随即一个数字)
abs2_(abs1到absN里面随即一个数字)
abs3_(abs1到absN里面随即一个数字)
abs4_(abs1到absN里面随即一个数字)
.
.
.
absN_(abs1到absN里面随即一个数字)
然后把这些组合出来的数字保持到2.txt文档里面。 就相当于是把每一行的内容都遍历一次与其它行的内容组合成一个新的内容出来。
这个实现之后就是3个数字的组合问题。
abs1_(abs1到absN里面随即一个数字)_(abs1到absN里面随即一个数字)
abs2_(abs1到absN里面随即一个数字)_(abs1到absN里面随即一个数字)
abs3_(abs1到absN里面随即一个数字)_(abs1到absN里面随即一个数字)
abs4_(abs1到absN里面随即一个数字)_(abs1到absN里面随即一个数字)
.
.
.
N_(1到N里面随即一个数字)_(1到N里面随即一个数字).
不知道这样说清楚没有。
上面的abs1、 abs2 、 abs3、 .... absN 只是举例。
有可能是其他字母或者汉字的,比如说
文件夹1
文件夹2
文件夹3
..........
文件夹N
或者是
批处理
批处理论坛
论坛
批处理之家
.........
实用论坛
如果哪位高手编出来上面的代码了 ,请您先自己运行下 看能不能成功。
谢谢您了。。。
.
[ 本帖最后由 kabamei 于 2010-11-24 00:04 编辑 ]
作者: TX_kakashi 时间: 2010-11-22 13:30
说实话没看懂lz的意思,是不是要求随机排列文本文件的每一行内容?- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in (1.txt) do (
- set my_random=!random!!random!!random!
- set "_str_!my_random!=%%a"
- )
- for /f "tokens=2 delims==" %%a in ('set _str_') do (
- echo %%a
- )
- pause
复制代码
作者: lvsehuaxue 时间: 2010-11-22 20:12
- @echo off&Setlocal Enabledelayedexpansion
- rem 假如组合是1个的话
- for /l %%i in (1 1 10) do (
- set /a a=!random!%%10+1
- echo abs%%i_abs!a!>>a.txt
- set _%%i=abs%%i_abs!a!
- )
- for /l %%a in (1 1 10) do (
- set /a b=!random!%%10+1
- call echo %%_%%a%%_%%_!b!%%
- )
- pause
复制代码
作者: kabamei 时间: 2010-11-24 00:03
我都说了 abs只是举例。
它每行可能是普通的文字。
作者: wc726842270 时间: 2010-11-24 04:26 标题: 回复 4楼 的帖子
请问你所说的数字是否是其对应的行数啊?
作者: cjiabing 时间: 2010-11-24 11:00
- @echo off&setlocal enabledelayedexpansion
- ::随机组合一文本内的行与列。
- ::1到100行以内。若想扩大行数,需修改rda和rdb的set。
- ::以下是只提取每行的第一列,可以修改tokens和set提取更多列。
- :cc
- set va=
- set /a rda=%time:~-2,2%+0
- for /f "tokens=1 delims= " %%a in ('more +%rda% 通讯录(新).txt') do set va=%%a&goto aa
- goto cc
- :aa
- set vb=
- set /a rdb=%time:~-2,2%+0
- for /f "tokens=1 delims= " %%a in ('more +%rdb% 通讯录(新).txt') do set vb=%%a&goto bb
- goto cc
- :bb
- echo !va! !vb!
- pause>nul
- goto cc
复制代码
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |