标题: [文本处理] bat脚本,匹配所有含有关键字的行,在行后增加一段字符串 [打印本页]
作者: shui985039 时间: 2018-10-24 09:40 标题: bat脚本,匹配所有含有关键字的行,在行后增加一段字符串
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
复制代码
-----------------------------------------------------------------------
辛苦各位大神
作者: xczxczxcz 时间: 2018-10-25 16:02
匹配:只要有关键词就添加。不考虑某些特殊字符。- for /f "delims=" %%a in (文本.txt) do echo %%a|findstr /i "关键词">nul && echo %%a"添加的内容"||echo %%a
复制代码
===================
如需匹配所有的关键字,最好把关键字列表,再比对。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |