用批处理删除指定文件中字符串前面的文字?

2024-12-04 03:11:23
推荐回答(2个)
回答1:

楼主问了两个次哦,怎么也没别人来答,那我就再改写一个吧,处理会保留空行、查找不分大小写 (他这个删指定字符之下的代码要是文件名有空格会出错)

@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

回答2:

把指定字符串前面的内容替换成空。