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

用纯P代码有时再绑定findstr的过滤功能,确实可以明显提高聚集目标数据的准确性,这对于‘提取’文件数据的效率还是相当可观的,但如果要对文件数据作‘增减或替换’处理,尤其是当数据体量较大,纯P+findstr方案就显得繁琐和低效了。好在已有bat+jscript/vbs/ps/sed混编方案,不仅有明显的效率优势,还可借助比较完整的正则方法使字符串的‘增减替换’一步到位。用本帖为例的两段代码如下
bat+jscript方案(存为test.bat运行》将当前目录下的全部*.txt文件中的 === 第nnn章xxx 改为 === 第nnn章 xxx 结果存为新文件*.new.txt)
  1. @set @v=1 //&(for %%F in (*.txt) do @type "%%~F"|cscript /e:jscript "%~f0">"%%~nF.new.txt") &exit/b
  2. s=WSH.stdin.readall(); WSH.echo(s.replace(/(第\d+章)([^ ])/g, '$1 $2')); WSH.quit();
复制代码
bat+sed方案(存为test.bat运行》将当前目录下的全部*.txt文件中的 === 第nnn章xxx 改为 === 第nnn章 xxx 结果存为新文件*.new.txt)
  1. @echo off
  2. for %%F in (*.txt) do sed.exe -r "s/(第[0-9]+章)([^ ])/\1 \2/g" "%%~F">"%%~nF.new.txt"
  3. exit/b
复制代码

TOP

返回列表