怎么用批处理删除当前目录下所有文本文件中指定字符串之前的内容?

2024-11-28 16:36:05
推荐回答(2个)
回答(1):

批处理文件放你宏纤那当前目录下,假定要找的字符串是abcd,运行后将把在此之前的所有内容(包括本行之前的蔽晌仿及上面所有行)删去,未找到这字符串的文本则不动:

@echo on&setlocal enabledelayedexpansion

set str=abcd

for /f "delims=" %%i in ('findstr/m /谨御i "%str%" "*.txt"')do (
for /f "tokens=1* delims=:" %%j in ('findstr/n /i "%str%" "%%i"')do (
set hh=%%k
set hh=!hh:%str%=■!
set n=0
call :cot
echo.!hh!>"%%i.yky"
more +%%j "%%i">>"%%i.yky"
del "%%i"
ren "%%i.yky" "%%i"
))
pause
exit

:cot
call set hhx=%%hh:~%n%,1%%
if not "!hhx!"=="■" (
set/a n+=1
goto cot )
call set hh=%%hh:~%n%%%
set hh=!hh:■=%str%!
echo.!hh!
goto :eof

回答(2):

del/f/s/姿枯腔q *.txt
::把上面这段复制粘贴到迹衫bat文件中败旁!考入你要删除的目录中运行!
::你如果要删除jpg图片就把txt改成jpg就好!!
del命令不懂用请参考下面这网址