中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 14:18
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » 查找文件并删除在文件中的指定"字符串"
可打印版本  1,176 / 1
第1楼 ZJHJ 发表于 2010-03-13 22:35
高级用户 发帖 374 积分 609
查找文件并删除在文件中的指定"字符串"
最近因电脑的网页被病毒修改,中了Win32.Jadtre.B病毒。实际上是在网页中写了一行下载木马的网址:***type="text/javascript" src="http://web.nba1001.net:8888/tj/tongji*****
手动查找清除有些困难,写了这个BAT自动查找并清除:

@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 ]
第2楼 pizigao 发表于 2010-03-19 13:59
银牌会员 发帖 292 积分 1,063
这个我收了~正好用的着
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023