bat脚本,匹配所有含有关键字的行,在行后增加一段字符串,现在这个脚本只能匹配到首个关键字行。
我现在想把文件内所有匹配到关键字的行后,都增加一段字符串,应该怎么改啊,或者不在这个基础上,重新写一个也行。
------------------------------------------------------------------------ @echo off
- set "file=文本.txt"
- for /f "delims=:" %%a in ('findstr /nl /c:"关键词" "%file%"') do set n=%%a&goto :end
- :end
- if defined n (
- (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%file%"') do (
- if "%%a" equ "%n%" (echo;%%b添加的内容) else echo;%%b
- ))>"$tmp.txt"
- rem move "$tmp.txt" "%file%"
- ) else echo;Not Found
- pause
复制代码 -----------------------------------------------------------------------
辛苦各位大神 |