|
|
楼主 |
发表于 2010-12-9 21:54:56
|
显示全部楼层
回复 16楼 的帖子
在您的代码基础上我又进行了一点修改,现在达到了我的目的了:
发现D:\scan\下面有非空的文件夹,就开始执行扫描病毒,扫描发现没有病毒就拷贝走并删除源文件,若扫描发现病毒则报警。
@echo off
:a:循环监视D:\scan目录
echo 请勿动,正在监控之中......
ping 127.1 -n 5 >nul
cls
pushd D:\scan
for /f "delims=" %%b in ('dir /a /b') do (
for /f %%j in ('dir /a/b "%%b"') do (if exist "%%b" goto :b))
goto :a
:b:延迟5秒
echo 5秒之后扫毒开始......
ping 127.1 -n 5 >nul
start "" "iexplore.exe"
cls
:c:循环监视Scan进程
echo 正在扫描病毒......
ping 127.0.0.1 -n 5 >nul
tasklist|find /i "iexplore.exe"||goto:d
cls
goto:c
:d:检查病毒扫描日志
echo 病毒扫描完成......
cls
echo 正在检查病毒扫描日志......
for /f "tokens=1-3 delims=-:/ " %%a in ("%date%") do set da=%%a&set db=0%%b&set dc=0%%c
for /f "delims=" %%a in (D:\log\%db:~-2%%dc:~-2%%da%.log) do set a=%%a
echo %a%|find /i "Risks: 0"&&goto:e||goto:f
:e :上传数据无病毒
cls
xcopy D:\scan E:\scaned /s /e /y
echo 上传的数据没有病毒,已经转移到达目的地!
ping 127.1 -n 5 >nul
cls
echo 3秒钟之后清除源文件
@ping 127.0.0.1 -n 3 >nul
for /f "delims=" %%c in ('dir /ad /b D:\scan') do (
dir /a-d /b /s "D:\scan\%%c" && rd /s/q "D:\scan\%%c") >nul
cls
goto:a
:f :上传数据有病毒
cls
start "" "D:\log\alarm.bat"
echo 上传的数据可能存在病毒,请检查......
pause
goto:a |
|