标题: [文本处理] 批处理怎样把txt文本的每一行以逗号分割随机打乱每段顺序? [打印本页]
作者: tt869612766 时间: 2010-12-8 08:07 标题: 批处理怎样把txt文本的每一行以逗号分割随机打乱每段顺序?
本帖最后由 pcl_test 于 2016-7-8 20:13 编辑
有个txt文件
里面是一段超大的文字文章
我想按"每个,"逗号为一段随即打乱这个txt里的文字内容
也就是好比
文字a,文字b,文字c,文字d,文字e
这样的txt内容随即打乱
成为结果是
文字e,文字d,文字a,文字c,文字b
类似这样的结果 无规律的随机打乱
求批处理代码 高手请帮忙 在线等答案 谢谢
作者: hanyeguxing 时间: 2010-12-8 08:33
超大?文件大小多少字节?
作者: tt869612766 时间: 2010-12-8 09:00
6,786,280 字节
作者: tt869612766 时间: 2010-12-8 09:01
知道批处理命令怎么写吗
作者: hanyeguxing 时间: 2010-12-8 09:20
原帖由 tt869612766 于 2010-12-8 09:01 发表
知道批处理命令怎么写吗
既然楼主都这样问了那俺只能说不会了。
fr为第三方命令,需要下载
下载页:http://ishare.iask.sina.com.cn/f/7088512.html
下载地址:http://ds3.d.iask.com/fs/800/1/add480188567a7561f35cef50fbc380e30406794/rar/fr.rar?origin=d126.d.iask.com
- @echo off&setlocal enabledelayedexpansion
- ::设置要被处理的文件
- set v=1.txt
- fr "%v%" /r:"," /t:"\r\n"
- for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%v%"') do set "#%%a=%%b"&set a=%%a
- for /l %%a in (1,1,%a%) do call:n %%a
- (for /f "tokens=2 delims==" %%a in ('set @') do (
- if defined m set/p"=,"<nul
- set/p"=!#%%a!"<nul
- set m==
- ))>"%v%"
- exit
- :n
- set n=%random%
- if "!@%n%!"=="" (set @%n%=%1) else goto:n
复制代码
[ 本帖最后由 hanyeguxing 于 2010-12-8 09:26 编辑 ]
作者: tt869612766 时间: 2010-12-8 09:49
@echo off&setlocal enabledelayedexpansion
::\fr\111.txt
set v=1.txt
fr "%v%" /r:"," /t:"\r\n"
for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%v%"') do set "#%%a=%%b"&set a=%%a
for /l %%a in (1,1,%a%) do call:n %%a
(for /f "tokens=2 delims==" %%a in ('set @') do (
if defined m set/p"=,"<nul
set/p"=!#%%a!"<nul
set m==
))>"%v%"
exit
:n
set n=%random%
if "!@%n%!"=="" (set @%n%=%1) else goto:n
老大 我把fr.exe 跟111.txt都放在同一个文件包 然后运行这个命令试了一下 但是好象不管用
输出的1.txt文件里是空的
作者: hanyeguxing 时间: 2010-12-8 10:32
把set v=1.txt根据需要改成set v=111.txt
作者: gung 时间: 2011-5-23 16:29
本帖最后由 gung 于 2011-5-23 16:37 编辑
哪个符号是逗号?
以句号/感叹号/问号分隔怎么写?
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |