怎么用批处理删除当前目录下所有文本文件中指定字符串之前的内容?
2个回答
展开全部
批处理文件放你那当前目录下,假定要找的字符串是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
@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
展开全部
del/f/s/q *.txt
::把上面这段复制粘贴到bat文件中!考入你要删除的目录中运行!
::你如果要删除jpg图片就把txt改成jpg就好!!
del命令不懂用请参考下面这网址
::把上面这段复制粘贴到bat文件中!考入你要删除的目录中运行!
::你如果要删除jpg图片就把txt改成jpg就好!!
del命令不懂用请参考下面这网址
参考资料: http://blog.csdn.net/MyPlace/archive/2009/08/14/4444896.aspx
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询