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

[文本处理] [已解决]批处理如何将文本行按指定规则进行组合合并?

例:
a.txt文本内容为:
01 02 03
04 05 06
07 08 09
10 11 12
13 14 15
16 17 18

处理成:
01 02 03 04 05 06 07 08 09     (就是将上面6行内容的第1、2、3行合为一行)
01 02 03 04 05 06 10 11 12     (1、2、4行合为一行)
01 02 03 04 05 06 13 14 15     (1、2、5行合为一行)
01 02 03 04 05 06 16 17 18     (1、2、6行合为一行)
01 02 03 07 08 09 10 11 12     (1、3、4行合为一行)
01 02 03 07 08 09 13 14 15     (1、3、5行合为一行)
01 02 03 07 08 09 16 17 18     (1、3、6行合为一行)
01 02 03 10 11 12 13 14 15     (1、4、5行合为一行)
01 02 03 10 11 12 16 17 18     (1、4、6行合为一行)
01 02 03 13 14 15 16 17 18     (1、5、6行合为一行)
04 05 06 07 08 09 10 11 12     (2、3、4行合为一行)
04 05 06 07 08 09 13 14 15     (2、3、5行合为一行)
04 05 06 07 08 09 16 17 18     (2、3、6行合为一行)
04 05 06 10 11 12 13 14 15     (2、4、5行合为一行)
04 05 06 10 11 12 16 17 18     (2、4、6行合为一行)
04 05 06 13 14 15 16 17 18     (2、5、6行合为一行)
07 08 09 10 11 12 13 14 15     (3、4、5行合为一行)
07 08 09 10 11 12 16 17 18     (3、4、6行合为一行)
07 08 09 13 14 15 16 17 18     (3、5、6行合为一行)
10 11 12 13 14 15 16 17 18     (4、5、6行合为一行)

注:把a.txt文本内容行进行一个3行复式的行为,
上面举例的a.txt文本为简洁阐述以01 02 03这样的三个数字为例,
而实际需要处理的文本内容行字符存在个数长度不等的情况。
处理完成保存为b.txt

  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (a.txt) do (
  3. set /a i+=1
  4. set #!i!=%%i
  5. )
  6. (for /l %%i in (1,1,%i%) do (
  7. set /a j=%%i+1
  8. for /l %%j in (!j!,1,%i%) do (
  9. set /a k=%%j+1
  10. for /l %%k in (!k!,1,%i%) do (
  11. echo;!#%%i! !#%%j! !#%%k!
  12. )
  13. )
  14. ))>b.txt
  15. pause & exit /b
复制代码
1

评分人数

    • qzwifi: 可用,已解决。谢谢!技术 + 1
人生是一部书/只有这一页最温暖/读懂它的时候/我们在远方流泪...

TOP

返回列表