文学城论坛
+A-

DIY小红伞自动关机助手(原创)

油菜子 2009-02-07 10:07:20 ( reads)

DIY小红伞自动关机助手(原创)

大名鼎鼎的德国小红伞[AntiVir]杀毒软件在互联网上享有极好口碑。
它的综合性能排在世界前三名,单项性能也超过很多收费软件。
获得的好评包括界面简洁友好,功能强大,算法严谨,故而效率高
而误判率低。特别适合普通的乃至专业级的电脑用户使用。庞大的
病毒数据库是用户放心使用的可靠保证。更值得一提的是,它的个
人版是永久免费的,可以在线升级病毒库。

如此好的东东为何不用?然而,它的唯一缺陷是没有自动关机功能。
大家都知道,现在个人系统都很大,一次扫描再快也要个把小时,
谁能等得了?!或许这也是开发商的苦衷吧-----用此办法逼迫用户升
级到收费版!

笔者写了一个小程序,解决了自动关机的问题。现发布beta版,供
大家使用。如果用什么问题和建议,欢迎给我发“悄悄话”,以便改进。

【】程序的制作

先将下面的代码复制到 notepad 中,以ANSI形式保存,然后
更改文件的后缀为 .cdm 即可。(简单吧~~ ^v^)

【】注意事项
运行本程序前,请特别检查小红伞的自动处理项设置。
方法是:
小红伞[AntiVir]主界面->configuration->scaner->scan->
action for concerning files:选择automatic+quarantine
否则小红伞将弹出对话框询问处置方法,无法实现自动关机。
【】运行环境
winXP home;小红伞AntiVir personalEdtion (product 8.2.9.337)

【】授权:免费使用,但不能用于商业或盈利目的

【】如果出现“找不到文件”的情况:
由于小红伞的版本不同,默认安装路径可能有所不同。
用户应仔细核对小红伞[AntiVir]的安装路径。如果不在默认
路径,请更改变量str的赋值,即“=”符号右边的部分。

【】本程序每次运行将产生一个config profile 临时文件,后缀名为
“.avp”,放置在文件夹
C:\Documents and Settings\Owner\Local Settings\Temp
可手动删除。
【】关机程序的延时设置
调整各选项中 "shutdown -s -t 5" 命令最后位的数值(秒)


【】测试 (可选项)
本程序启动版面上设有一个“测试”选项。正式使用本程
序前请测试一下,主要是为了检验文件路径是否正确,以确保
各个程序的顺利运行。这需要用户自己动手做两个小文件

一)用notepad写出如下代码,然后保存文件名为:模拟扫描.bat
代码:@echo off
echo. ........本窗口为模拟扫描窗口,关闭后将激活模拟关机程序
echo. 按任意键退出...
pause>nul
exit
将“模拟扫描.bat”文件存放到C:\Documents and Settings\Owner\Local Settings\Temp

二)用notepad写出如下代码,然后保存文件名为:模拟关机.bat
代码:@echo off
echo. ...... 测试通过,调用真正的关机程序应该没问题。
pause
exit
将“模拟扫描.bat”文件存放到C:\Program Files\Avira\AntiVir PersonalEdition Classic
(小红伞的默认安装路径)


全部完成。享受一下DIY的快乐吧~~~~~^v^


::===========下面是主程序代码===================


:://小红伞自动关机助手 V.0.1beta built0901
:://作者:油菜子
:://留言:顶顶邮局http://www./club/postoffice.aspx
:://声明:作者保留对本程序的一切权利
:://授权:免费使用,但不能用于盈利目的
::【注释】
::============

@ECHO OFF

CLS
color 0a

set str=C:\Program Files\Avira\AntiVir PersonalEdition Classic
set path=%path%;%str%
set n=%RANDOM%

::MENU
ECHO.
ECHO. *** 调用小红伞[AntiVir]杀毒后关机 ***
ECHO.
ECHO. 1 只扫描系统文件夹(c:\windows\system32)
ECHO.
ECHO. 2 对系统做全面扫描
ECHO.
ECHO. 3 扫描本机全部硬盘
ECHO.
ECHO. 4 扫描本机全部驱动器(包括便携盘、光驱,USB等)
ECHO.
ECHO. -------------------------
ECHO.
ECHO. 5 测试能否自动关机
ECHO.
echo. 6 什么都不做,退出本程序
ECHO.
echo. 请输入选择项目的序号:
echo.

set /p ID=

if "%id%"=="1" GOTO TOSYSDIR

if "%id%"=="2" GOTO TOSYSSCAN

if "%id%"=="3" GOTO TOALLDISCS

if "%id%"=="4" GOTO TOALLDRIVES

if "%id%"=="5" GOTO TESTSCAN

if "%id%"=="6" exit

:TOSYSDIR

>"%temp%\%n%.avp" (
echo [CFG]
echo GuiMode=1
echo ExitMode=2
echo [SEARCH]
echo Parameter=0x00000000
echo Path0=%SYSDIR%
echo [CONTROLCENTER]
echo ProfileType=4
echo ProfileName=Windows System Directory
echo ProfileDescription=This profile only scans the Windows system directory of your system["c:\windows\system32"]for viruses or unwanted programs.
)
start /WAIT avscan.exe /CFG="%temp%\%n%.avp"
shutdown -s -t 5
exit/b

:TOSYSSCAN

>"%temp%\%n%.avp" (
echo [CFG]
echo GuiMode=1
echo ExitMode=2
echo SystemScan=1
echo [SEARCH]
echo Parameter=0x00001000
echo [CONTROLCENTER]
echo ProfileType=11
echo ProfileName=Complete system scan
echo ProfileDescription=This profile carries out a complete system scan.
)
start /WAIT avscan.exe /CFG="%temp%\%n%.avp"
shutdown -s -t 5
exit/b

:TOALLDISCS

>"%temp%\%n%.avp" (
echo [CFG]
echo GuiMode=1
echo ExitMode=2
echo SystemScan=1
echo [SEARCH]
echo Parameter=0x00001000
echo [CONTROLCENTER]
echo ProfileType=6
echo ProfileName=Local Hard Disks
echo ProfileDescription=This profile scans all local hard disks on your system for viruses or unwanted programs.
)
start /WAIT avscan.exe /CFG="%temp%\%n%.avp"
shutdown -s -t 5
exit/b

:TOALLDRIVES

>"%temp%\%n%.avp" (
echo [CFG]
echo GuiMode=1
echo ExitMode=2
echo SystemScan=1
echo [SEARCH]
echo Parameter=0x00007000
ECHO [CONTROLCENTER]
ECHO ProfileType=7
ECHO ProfileName=Local Drives
ECHO ProfileDescription=This profile scans all local drives [Hard Disks, Floppy Disk drives, CD-ROM drives, DVD-Drives, USB sticks etc.] on your system for viruses or unwanted programs.
)
start /WAIT avscan.exe /CFG="%temp%\%n%.avp"
shutdown -s -t 5

exit/b

:TESTSCAN

start /wait %temp%\模拟扫描.bat
start 模拟关机.bat

exit/b

跟帖(5)

太平洋

2009-02-07 10:40:19

顶原创,谢谢分享!!

fireinbox

2009-02-07 13:06:21

顶!

不党

2009-02-07 22:09:01

先顶再问句外行的话:这程序用的是不是C语言?

tty

2009-02-08 09:32:10

batch file with win2000/xp extension

zhangisajoke

2009-02-10 13:23:21

windows shell scripting