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

[文本处理] 批处理如何在txt文本指定字符后添加回车换行符

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

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

这有什么难的。就是个查找替换。
下载安装python3 https://www.python.org/downloads/ 代码存为xx.py 双击运行或IDLE打开F5运行

TOP

回复 9# CrLf
哇还没睡?比批处理难学,这样不算刷贴吧!看完还是删了这里边形似聊天回复吧
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 7# /zhqsystem/zhq


    vbs 和 js 没你想象的那么难,看看基础教程,实际应用几次就熟悉了,至于混编,只是一种形式...

TOP

本帖最后由 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 库

TOP

回复 6# pcl_test
最好记的vbs是set.end和close,就认识这仨,别的也是按照你的这个方法记得,但还是不会,VBS+bat混编成bat很好,入门混编至少两年半,看来是有心无力了
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

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

回复 5# /zhqsystem/zhq

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

TOP

回复 4# pcl_test
汗,别开玩笑了,这个可以不会,只看了个大概,基本和没学一样,真要自己动手写我也写不出来,哎不会英文学什么都跟蜗牛似的[学的真慢啊]
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

回复 3# /zhqsystem/zhq


    来个vbs试试,如何

TOP

  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字符会出错]建议用其他语言脚本,将文本拖拽到批处理即可
这么好的论坛你上哪找,运行测试环境为6.1.7601-64
注:请遵守互联网信息安全,勿用于非法用途

TOP

本帖最后由 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
复制代码

TOP

返回列表