一个简单处理RAR文件的bat

前几天在寝室电脑上裸机,结果不小心中了一个木马。情况是在我的所有目录及子目录里,只要有有效exe程序的目录里都给我添加一个他自己的lpk.dll;除此之外,他对我电脑里的RAR文件也这么干了,这个就稍微让我头疼了点儿!!

后来我开了杀毒软件,然后全盘查杀被感染的rar。很慢,而且比较多,我手工干了一遍去除木马文件的事儿,累死了。于是就萌生了shell脚本处理的想法。之前还不怎么会高级的批处理命令,后来看了一下,写了点儿简单可用的:


rem DelTrojansInRar.bat
@echo off
if exist c: for /R C:\ %%i in (*.rar) do (@"C:\Program Files\WinRAR\RAR.exe" l -p- "%%i" | @find "lpk.dll" >nul && "C:\Program Files\WinRAR\RAR.exe" d "%%i" lpk.dll *\lpk.dll)
if exist d: for /R D:\ %%i in (*.rar) do (@"C:\Program Files\WinRAR\RAR.exe" l -p- "%%i" | @find "lpk.dll" >nul && "C:\Program Files\WinRAR\RAR.exe" d "%%i" lpk.dll *\lpk.dll)
if exist e: for /R E:\ %%i in (*.rar) do (@"C:\Program Files\WinRAR\RAR.exe" l -p- "%%i" | @find "lpk.dll" >nul && "C:\Program Files\WinRAR\RAR.exe" d "%%i" lpk.dll *\lpk.dll)
if exist f: for /R F:\ %%i in (*.rar) do (@"C:\Program Files\WinRAR\RAR.exe" l -p- "%%i" | @find "lpk.dll" >nul && "C:\Program Files\WinRAR\RAR.exe" d "%%i" lpk.dll *\lpk.dll)
if exist g: for /R G:\ %%i in (*.rar) do (@"C:\Program Files\WinRAR\RAR.exe" l -p- "%%i" | @find "lpk.dll" >nul && "C:\Program Files\WinRAR\RAR.exe" d "%%i" lpk.dll *\lpk.dll)
pause

rar命令行:l命令,显示压缩档案的文件列表;-p-,忽略密码;d命令,删除匹配文件(以压缩档案的根目录为节点,故对子目录及其内容需要用通配符来表示路径,并进行匹配,如?\*一级子目录,*\*.*多级子目录)

find,在文件列表中查找目标木马文件lpk.dll;|,表示管道,即前者的输出作为后者命令的某些输入;&&,表示前面执行并返回成功后继续执行后面的命令;

批处理删除当前目录下所有RAR下指定文件包含子目录下:http://zhidao.baidu.com/question/91276466

本想自动检测本地磁盘,并循环对各磁盘做处理,但涉及到双重循环,bat中变量使用比较混乱,没有成功。命令为:

for /f "skip=1" %%a in ('wmic logicaldisk where DriveType^=3 get DeviceID') do () 

参考:http://www.bathome.net/redirect.php?tid=11096&goto=lastpost

经测试,效果还可以!哈哈~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值