Board logo

标题: [文本处理] 批处理如何在txt文本指定字符后添加回车换行符 [打印本页]

作者: paopo    时间: 2015-12-5 23:20     标题: 批处理如何在txt文本指定字符后添加回车换行符

例如这样的文本,处理成一下格式

7月29日,巴基斯坦总统穆沙拉夫冒着倾盆大雨来到位于首都伊斯兰堡的巴铁路客车厂,主持了巴高速客车车间的落成仪式。
在仪式上,穆沙拉夫说,巴基斯坦将利用其独特的地缘优势为中亚﹑海湾地区﹑中东﹑中国西部和南亚的经济交往提供便利。
为此,他强调巴基斯坦必须加快交通设施建设,其中最重要的就是加快铁路网建设。
作者: pcl_test    时间: 2015-12-5 23:51

本帖最后由 pcl_test 于 2015-12-5 23:59 编辑
  1. @echo off
  2. for /f "delims=" %%a in ('dir /b *.txt') do (
  3.     >"%%~na.t" mshta "javascript:with(new ActiveXObject('Scripting.FileSystemObject')){GetStandardStream(1).Write(GetStandardStream(0).readall().replace(/。(?!\r\n)/g,'。\r\n'))}close()"<"%%a"
  4.     move "%%~na.t" "%%a"
  5. )
  6. pause
复制代码

作者: /zhqsystem/zhq    时间: 2015-12-6 00:44

  1. @echo off&color 0e
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('type "%~f1"') do (
  4. set "name=%%i"
  5. set "name_new=!name:。=。,!"
  6. for %%j in (!name_new!) do (
  7.   (echo,%%j
  8.   echo/)
  9. )
  10. )
  11. pause
复制代码
注:这种纯批处理要求比较严格,最好不要带有英文字符,单行文本不要太长[高于8180字符会出错]建议用其他语言脚本,将文本拖拽到批处理即可
作者: pcl_test    时间: 2015-12-6 01:04

回复 3# /zhqsystem/zhq


    来个vbs试试,如何
作者: /zhqsystem/zhq    时间: 2015-12-6 01:12

回复 4# pcl_test
汗,别开玩笑了,这个可以不会,只看了个大概,基本和没学一样,真要自己动手写我也写不出来,哎不会英文学什么都跟蜗牛似的[学的真慢啊]
作者: pcl_test    时间: 2015-12-6 01:35

本帖最后由 pcl_test 于 2015-12-6 01:38 编辑

回复 5# /zhqsystem/zhq

想起了我的vbs入门,在有批处理的编程基础上,用对照批处理写vbs代码的方式学习的,比如批处理的echo相对vbs的msgbox、wscript.echo、popup,批处理的set /p相对vbs的inputbox……当然,其中不乏边查资料边实验性堆砌代码,总之,个人之见,我觉得看了资料再动手捣鼓下,收益更多
作者: /zhqsystem/zhq    时间: 2015-12-6 02:00

回复 6# pcl_test
最好记的vbs是set.end和close,就认识这仨,别的也是按照你的这个方法记得,但还是不会,VBS+bat混编成bat很好,入门混编至少两年半,看来是有心无力了
作者: CrLf    时间: 2015-12-6 03:40

本帖最后由 CrLf 于 2015-12-6 04:01 编辑
  1. mshta http://bathome.net/s/hta/ dir().files().grep(/\.txt$/i)._each(function(f){save(String(type(f)).replace(/。/g,'。\r\n'),f)})
复制代码
解释下,
此用法来自批处理之家在线 HTA 脚本

其中调用了批处理之家 js 在线脚本库的一些方法和函数:
dir / type / save 函数来自 Function 库
.files 方法来自 DIYprototype 库
.grep / ._each 方法来自 Prototype 库
作者: CrLf    时间: 2015-12-6 03:42

回复 7# /zhqsystem/zhq


    vbs 和 js 没你想象的那么难,看看基础教程,实际应用几次就熟悉了,至于混编,只是一种形式...
作者: /zhqsystem/zhq    时间: 2015-12-6 04:27

回复 9# CrLf
哇还没睡?比批处理难学,这样不算刷贴吧!看完还是删了这里边形似聊天回复吧
作者: 依山居    时间: 2015-12-6 10:16

这有什么难的。就是个查找替换。




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