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

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

批处理文件放你那当前目录下,假定要找的字符串是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
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-07-06
del/f/s/q *.txt
::把上面这段复制粘贴到bat文件中!考入你要删除的目录中运行!
::你如果要删除jpg图片就把txt改成jpg就好!!
del命令不懂用请参考下面这网址

参考资料:http://blog.csdn.net/MyPlace/archive/2009/08/14/4444896.aspx

相似回答