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

[文本处理] 【已解决】BAT:多列数据逐行两两组合

本帖最后由 思想之翼 于 2014-4-7 13:37 编辑

数据格式相同的100个txt文本,每个文本有21列数据,文本命名为1.txt  2.txt ... 100.txt 。

现在欲将每个文本内的各列数据逐行两两组合(例如A,B,C,D,E列,组合成AB, AC, AD, AE, BC, BD, BE, CD, CE, DE),并写入新建文本new1.txt  new2.txt ... new100.txt   这样的BAT如何写?恳望得到帮助!

例如
txt文本数据格式:
7 7 6 1 4 2 0 9 4 7 5 9 4 7 5 3 6 4 1 9 2
0 0 0 4 2 8 8 8 2 0 6 6 0 8 6 0 8 0 8 2 0
5 6 9 2 4 9 7 0 3 5 0 1 4 6 1 7 9 4 2 7 9
1 4 4 0 3 0 3 3 9 2 9 6 2 5 2 2 5 2 1 8 1
5 8 0 1 3 0 1 3 4 6 3 6 7 9 6 9 1 8 2 9 1
1 2 3 5 8 4 9 0 2 5 1 1 3 6 2 4 7 3 9 5 8

各列数据逐行两两组合:
77 76 71 74...92
00 00 00 04...20
56 59 52 54...79
14 14 10 13...81
58 50 51 53...91
12 13 15 18...58
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1,1,100) do (
  3.   (for /f "delims=" %%a in (%%i.txt) do (
  4.     set "str=%%a"
  5.     for %%b in (%%a) do (
  6.         set "str=!str:*%%b=!"
  7.         for %%c in (!str!) do set/p"=%%b%%c "
  8.     )
  9.     echo,
  10.   ))<nul>组合%%i.txt
  11. )
复制代码
2

评分人数

初学BAT,非专业。代码不适当之处还望前辈们多多指点。在此表示感谢!

TOP

返回列表