[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何实现提取多个txt文本文件的随机两行内容并输出到同一个文本里

本帖最后由 pcl_test 于 2016-12-26 00:31 编辑

每个TXT随机抽2行、组成新的TXT。求助
下面是我自己写的。随机抽2行出来 就出错。

求修正或新编写一个可以实现我目的的代码

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

setlocal enabledelayedexpansion
rem 读取所有文本
for %%k in (%cd%\所有记录\*.*) do (
  rem 每个文本、每一行赋予随机数字。输出为1.txt
  for /f "delims=" %%i in (%%k) do call echo %%random:~-1%%%%random:~-1%% #%%i>>1.txt
   rem 读取1.txt。根据数字排序输出为2.txt
   for /f "tokens=2 delims=#" %%l in ('type "1.txt" ^|sort') do echo %%l>>2.txt
    rem 读取2.txt随机N行输出到xxx.txt
          set m=0
         for /f "delims=" %%r in (2.txt) do (
          set /a m+=1
          if "!m!"=="1" set a=%%r
          if "!m!"=="2" set b=%%r
                     echo !a!>>xxx.txt
              echo !b!>>xxx.txt
         )

)


ping -n 10000 127.1>nul
1

评分人数

返回列表