中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 查找文件并删除在文件中的指定"字符串"
作者:
标题: 查找文件并删除在文件中的指定"字符串" 上一主题 | 下一主题
ZJHJ
高级用户





积分 609
发帖 374
注册 2006-8-2
状态 离线
『楼 主』:  查找文件并删除在文件中的指定"字符串"

最近因电脑的网页被病毒修改,中了Win32.Jadtre.B病毒。实际上是在网页中写了一行下载木马的网址:***type="text/javascript" src="http://web.nba1001.net:8888/tj/tongji*****
手动查找清除有些困难,写了这个BAT自动查找并清除:

  Quote:
@echo off
cls
@title 查找并删除在文件中的指定"字符串" 编辑:Wang wei QQ:251485609 BY20100312
@echo.
@echo          在当前含子目录查找文件并删除在文件中的指定"字符串"及所在行
@echo.
@echo             (先获取"字符串"存在文件及路径,避免对非目标文件操作)
@echo.
set /p lx=   请输入要查找文件的类型(默认: *.txt)
@echo.
set /p key=  待查找字符串(多个字符串请用空格隔开):
if "%lx%"=="" set lx=txt
findstr /i /s "%key%" "*.%lx%" >扫描记录.txt
cls
@echo.
@echo  请检查 "扫描记录.txt",如果不规范(每行只能有一个路径)可手动分行.
call 扫描记录.txt
echo 以下文件已经执行"%key%"字符串的删除:>删除日志.txt
for /f "tokens=1 delims=:" %%i in (扫描记录.txt) do @echo %%i>>cf.txt
cd.>执行路径.txt
for /f "delims=" %%i in (cf.txt) do (
  if not defined %%i set %%i=A & echo %%i>>执行路径.txt
)
cls
if not exist cf.txt echo 没有发现文件!& ping n 3 127.1>nul &goto scwj
del cf.txt
for /f "delims=" %%i in (执行路径.txt) do (
findstr  /r  /v  "%key%" "%%i">tem.txt
echo %%i >>删除日志.txt
del "%%i"
move tem.txt "%%i"
)
call 删除日志.txt
:scwj
del 扫描记录.txt
del 执行路径.txt
del 删除日志.txt
exit

[ Last edited by ZJHJ on 2010-3-13 at 22:36 ]

2010-3-13 22:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pizigao
银牌会员

三生缘里笑红尘


积分 1063
发帖 292
注册 2003-3-9
状态 离线
『第 2 楼』:  

这个我收了~正好用的着



2010-3-19 13:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: