楼主问了两个次哦,怎么也没别人来答,那我就再改写一个吧,处理会保留空行、查找不分大小写 (他这个删指定字符之下的代码要是文件名有空格会出错)
@echo off&SetLocal EnableDelayedExpansion
set "str=UID"
for /f "delims=" %%s in ('findstr /m /i /c:"%str%" "*.txt"')do (
set flag=
for /f "tokens=1* delims=:" %%u in ('findstr /n .* "%%s"') do (
set var=%%u:%%v
if "!var:%str%=!" neq "!var!" (
for /f "delims=" %%L in ("!var:%str%=!")do (
call echo.!var:%%L=!>ykytemp.txt
set flag=1
)
)else (if defined flag echo.%%v>>ykytemp.txt)
)
del "%%s"
ren ykytemp.txt "%%s"
)
echo 处理完毕,即将退出...
ping /n 5 127.1>nul
把指定字符串前面的内容替换成空。