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

[文本处理] 批处理实现指定特征码之间多行内容合并为一行

批处理实现指定特征码之间多行内容合并为一行。
比如:
AAAA
1
2
3
4
5
6
7
8
9
BBBB
处理后为
AAAA
123456789
BBBB

有会的老大麻烦提供下代码,谢谢!!!

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set var1=AAAA
  4. set var2=BBBB
  5. for /f "delims=" %%a in (test.txt) do (
  6.     if "%%a"=="%var2%" (
  7.         set n=
  8.         echo,!str!
  9.         set str=
  10.     )
  11.     if not defined n echo,%%a
  12.     if !n!==true set str=!str!%%a
  13.     if "%%a"=="%var1%" set n=true
  14. )
  15. pause
复制代码

TOP

先论坛下载三方工具:gawk.exe
  1. gawk "{if(flag){if($0==\"BBBB\"){flag=0;printf(\"\n%%s\n\",$0)}else printf(\"%%s\",$0)};if($0==\"AAAA\"){flag=1;print $0}}" one.txt
复制代码
如无特别说明,代码测试环境均为 XP SP3

TOP

返回列表