Board logo

标题: [文本处理] 批处理如何在txt文本同时存在三个指定字符的那一行的最后插入另一个字符? [打印本页]

作者: lvrendos    时间: 2009-11-19 11:37     标题: 批处理如何在txt文本同时存在三个指定字符的那一行的最后插入另一个字符?

本帖最后由 pcl_test 于 2016-7-25 14:03 编辑

比如有一文本内容为:
a111b222
a112b223c333
c332
在同时存在abc的一行的最后插入d,比如:
a111b222
a112b223c333d
c332
作者: 随风    时间: 2009-11-19 11:51

  1. @echo off
  2. for /f "delims=" %%a in ('findstr /n .* a.txt') do (
  3.    set /a n=0
  4.    set "str=%%a"
  5.    setlocal enabledelayedexpansion
  6.    set str= !str:*:=!
  7.    for %%i in (a b c) do (
  8.       if not "!str!"=="!str:%%i=!" set /a n+=1
  9.     )
  10.    if !n! equ 3 (echo !str:~1!d) else echo;!str:~1!
  11.    endlocal
  12. )
  13. pause
复制代码





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