Board logo

标题: [文本处理] 批处理如何把文本打乱排序? [打印本页]

作者: tan1967    时间: 2013-5-24 21:03     标题: 批处理如何把文本打乱排序?

文本里的词语随机打乱排序
XXX1
XXX2
XXX3
XXX4

随机处理后格式

XXX2_XXX1_XXX3
XXX1_XXX4_XXX2
XXX3_XXX2_XXX3
XXX1_XXX3_XXX2


原来文本有几行处理就几行
作者: xxpinqz    时间: 2013-5-24 23:00

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in (a.txt) do set /a l=n,n+=1&set ".!n!=%%a"
  4. (for /l %%a in (1,1,%n%) do (
  5.   set str=
  6.   for /l %%b in (1,1,%l%) do (
  7.     set /a r=!random!%%n+1
  8.     for %%c in (!r!) do set "str=!str!!.%%c!_"
  9.   )
  10.   echo !str:~,-1!
  11. ))>b.txt
  12. start b.txt
复制代码

作者: tan1967    时间: 2013-5-26 21:51

回复 2# xxpinqz


    不好用连换行都没有。都堆在一起。
继续求好代码
作者: CrLf    时间: 2013-5-26 23:40

回复 3# tan1967


    “不好用”的代码测试无误
作者: xxpinqz    时间: 2013-5-27 00:09

回复 3# tan1967
这个,单独处理你举的例子,除了效率,应该没什么大问题的.
不行的话你最好清晰点描述下你的源文档内容,别人也知道哪里出错。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2