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

把问题发到群里来,你的问题还有些疑问之处.
如果按照WORD的段落定义,遇到换行才会分段.在BAT中,遇到换行符前,所有的字符都在一行.换句话说,按照WORD的说法,BAT中一行就是一段.
所以按2楼的逐行判断法,如果一行中有N个句号,则无法将这N个句号进行分割.极端的情况,如果全文只有一行,你将会无功而返.
QQ 33892006

TOP

回复 9# 屡败屡战


精简系统很可能无法安装.正常系统WIN7,需要先安装.NET 4.5,然后才能安装升级补丁.
不过还是有些电脑无法运行MSU更新包,必须解压,用DISM命令来安装更新.  
我建议你加入论坛QQ群,方便交流,或者看我签名,加我QQ
QQ 33892006

TOP

本帖最后由 yhcfsr 于 2018-7-19 18:07 编辑

回复 11# 屡败屡战

如果只几个文本,参考5楼的的正则部分,用NOTEPAD++修改.
如果文件多,用以下脚本.保存为BAT
  1. @set @n=0/*&echo off&set "script=%~f0"
  2. dir /a-d/s/b *.txt|cscript -nologo -e:jscript "%script%"
  3. pause&exit /b */
  4. //脚本与要处理的文件放一起
  5. //脚本会处理目录中所有TXT文件
  6. var n=4;//设置每n个句号换一次行
  7. var fso=new ActiveXObject('scripting.FileSystemObject')
  8. while(!WSH.StdIn.AtEndOfStream){
  9. var file=WSH.StdIn.ReadLine();
  10. fo=fso.OpenTextFile(file,1);
  11. content=fo.ReadAll();
  12. var re =new RegExp("(?:[^。]*。){"+n+"}(?!$)","gim")
  13. content=content.replace(re,'$&\r\n')
  14. fo.close();
  15. fo=fso.OpenTextFile(file,2);
  16. fo.Write(content);
  17. fo.close();
  18. }
复制代码
1

评分人数

QQ 33892006

TOP

返回列表