Board logo

标题: [文本处理] 批处理怎样把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
  1. @echo off&setlocal enabledelayedexpansion
  2. ::设置要被处理的文件
  3. set v=1.txt
  4. fr "%v%" /r:"," /t:"\r\n"
  5. for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%v%"') do set "#%%a=%%b"&set a=%%a
  6. for /l %%a in (1,1,%a%) do call:n %%a
  7. (for /f "tokens=2 delims==" %%a in ('set @') do (
  8.     if defined m set/p"=,"<nul
  9.     set/p"=!#%%a!"<nul
  10.     set m==
  11. ))>"%v%"
  12. exit
  13. :n
  14. set n=%random%
  15. 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://bbs.bathome.net/) Powered by Discuz! 7.2