Board logo

标题: [文本处理] 批处理怎么根据换行符来对文本进行分割? [打印本页]

作者: facial333    时间: 2019-11-14 22:16     标题: 批处理怎么根据换行符来对文本进行分割?

我有一个文本,内容格式如下:
1.AAAAAAAAAAAA
BBBBBBBBBBBBB
CCCCCCCCCCCCCC

2.DDDDDDDDDDDD
EEEEEEEEEEEEEE
FFFFFFFFFFFFFFF

3.GGGGGGGGGGGGG
HHHHHHHHHHHHHH
IIIIIIIIIIIIIIIIIIIIII

请问怎么根据换行符把这个文本分割生成新的文本
生成的新文本1内容就是:
1.AAAAAAAAAAAA
BBBBBBBBBBBBB
CCCCCCCCCCCCCC

文本2内容为:
2.DDDDDDDDDDDD
EEEEEEEEEEEEEE
FFFFFFFFFFFFFFF
作者: zaqmlp    时间: 2019-11-14 23:09

  1. @echo off
  2. set info=互助互利,支付宝扫码头像,感谢打赏
  3. rem 有问题,可加QQ956535081及时沟通
  4. title %info%
  5. cd /d "%~d0"
  6. set "txtfile=你的文本.txt"
  7. set "folder=result"
  8. if not exist "%folder%" md "%folder%"
  9. powershell -NoProfile -ExecutionPolicy bypass ^
  10.     $enc=[Text.Encoding]::Default;^
  11.     $text=[IO.File]::ReadAllText('%txtfile%',$enc).trim() -split '(?:\r?\n){2,}';^
  12.     for($i=0;$i -lt $text.count;$i++){^
  13.         $newfile=($i+1).toString()+'.txt';^
  14.         write-host $newfile;^
  15.         [IO.File]::WriteAllText('%folder%\'+$newfile, $text[$i], $enc);^
  16.     }
  17. echo;%info%
  18. pause
复制代码

作者: Batcher    时间: 2019-11-14 23:09

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set "n=1"
  4. for /f "tokens=1* delims=:" %%i in ('type "原文件.txt" ^| findstr /n ".*"') do (
  5.     if "%%j" equ "" (
  6.         set /a n+=1
  7.     ) else (
  8.         >>"!n!.txt" echo,%%j
  9.     )
  10. )
复制代码

作者: coolrat    时间: 2019-11-15 00:16

回复 3# Batcher

谢谢援手




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2