找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 24223|回复: 4

[文本处理] 如何根据指定文本中的行间规律将段落分别写进不同的txt中

[复制链接]
发表于 2017-7-20 21:14:54 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2017-7-21 04:29 编辑

如何用bat 提取1.txt中两个指定字符串之间的内容然后分别生成到不同txt 中
text.txt文本内容如下:

>>IN 1111
222
>>IN 333
444
>>IN 555
666
>>IN 777
888
888
>>IN 654
999999

我想把
>>IN 1111
222 生成到a.txt

>>IN 333
444 生成到b.txt

>>IN 555
666 生成到c.txt

>>IN 777
888 生成到d.txt
依次类推,请教大家。
 楼主| 发表于 2017-7-20 21:24:41 | 显示全部楼层
和这个问题很类似,但我的txt中需要重复提取行与行之间内容,并且文件名有变化。
http://www.bathome.net/thread-26239-1-1.html
发表于 2017-7-20 21:31:33 | 显示全部楼层
用递增数字做文件名岂不是很简单,非要用abcd...

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd /d %~dp0
  4. for %%a in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do (
  5.   set /a n+=1
  6.   set #!n!=%%a
  7. )
  8. for /f "delims=" %%a in (test.txt) do (
  9.   for /f %%b in ("%%a") do (
  10.     if "%%b"==">>IN" (
  11.       call :cn fn
  12.       echo;%%a>>!fn!.txt
  13.     ) else (
  14.       echo;%%a>>!fn!.txt
  15.     )
  16.   )
  17. )
  18. echo;处理完毕&pause>nul&exit /b

  19. :cn
  20. set /a m+=1
  21. for /f "tokens=2 delims==" %%i in ('set #^|findstr "#!m!="') do set fn=%%i
  22. endlocal &set %~1=!fn! &goto :eof
复制代码

评分

参与人数 1技术 +1 收起 理由
smallming + 1 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2017-7-21 09:52:47 | 显示全部楼层
本帖最后由 qazplm 于 2017-7-21 12:38 编辑

回复 3# taofan712

没错,要超过26段怎么办?所以要将楼主的思维强制“掰弯”,懂的不应该被不懂的带错了道
另外,如果真要用字母,可以用偏移法,就不需要call和findstr拖累效率了
  1. setlocal enabledelayedexpansion
  2. set s=abcdefghijklmnopqrstuvwxyz
  3. set n=0
  4. for /f "delims=" %%a in ('type "test.txt"') do (
  5.     for /f %%b in ("%%a") do (
  6.         if "%%b" equ ">>IN" (
  7.             for %%i in (!n!) do set "fn=!s:~%%i,1!.txt"
  8.             set /a n+=1
  9.         )
  10.         >>"!fn!" echo;%%a
  11.     )
  12. )
复制代码
 楼主| 发表于 2017-7-21 11:11:18 | 显示全部楼层
谢谢两位  3L代码已经解决了我的问题  用字母做名字更方便后续工作
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 01:20 , Processed in 0.016610 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表