Board logo

标题: [文本处理] [已解决]另一个问题:句号为行的排版,怎样批量切换到上一行行尾处? [打印本页]

作者: 每天几分    时间: 2012-9-21 14:04     标题: [已解决]另一个问题:句号为行的排版,怎样批量切换到上一行行尾处?

本帖最后由 每天几分 于 2012-9-21 22:08 编辑

示例:
  1. 登高望四海
  2. 天地何漫漫
  3. 霜被群物秋
  4. 风飘大荒寒
  5. 荣华东流水
复制代码

作者: apang    时间: 2012-9-21 19:38

保存为bat运行,与源文件a.txt放在一起,试试吧
  1. @echo off
  2. more +4 "%~0">$.vbs
  3. cscript /NoLogo $.vbs
  4. del $.vbs&goto :eof
  5. Set FSO = CreateObject("Scripting.FileSysTemObject")
  6. Set File = FSO.OpenTextFile("a.txt",1)
  7. strOut = Replace(File.ReadAll,vbCrLf & "。","。")
  8. FSO.CreateTextFile("b.txt",true).Write strOut
复制代码

作者: apang    时间: 2012-9-21 21:09

回复 3# 每天几分


    我的Win7下可以,不知道为啥。
再试试:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in (a.txt) do (
  3.   set/a n+=1
  4.   set "_!n!=%%a"
  5.   if "%%a"=="。" (
  6.     set/a n-=1
  7.     for %%b in (_!n!) do set %%b=!%%b!%%a
  8.   )
  9. )
  10. (for /l %%a in (1 1 !n!) do echo,!_%%a!)>b.txt
复制代码

作者: 每天几分    时间: 2012-9-21 22:08

嗯,可以了!谢谢!




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