在我们日常工作中,通常会遇到大批重复繁琐的工作。如定时备份数据库、整理磁盘、清理垃圾等。为了不让这些重复看上去没有意义的事情占住了我们宝贵的时间,我们通常会写一个WSH脚本或DOS批处理,把它们添加到计划任务里面,让计算机按时自动完成。

WSH是“Windows Script Host”简称,其中文译名为“Windows脚本宿主”。形象点说,它是多种脚本语言的解析器。顾名思义,它运行在Windows平台,默认支持Javascript和Vbscript脚本,通过第三方扩展引擎,还可以支持Perl、Python、REXX脚本解析运行。


跟高级程序语言相比,WSH有如下优点:

功能强大:能用WSH脚本完成大部分Windows任务; 简单易学:它使用了Vbsscript、Javascript等简单却功能强大的脚本语言编写; 容易编辑:直接用记事本就可以编辑; 无需编译:用记事本编写后根据脚本语言保存相应的后缀,直接双击即可运行。


下面是用VBSCRIPT编写的一些常用的WSH脚本:

1. 整理磁盘碎片dfrg.vbs:

'将文保存为"dfrg.vbs"文件添加到计划任务或者直接双击运行
set WshShell = CreateObject("WScript.Shell")
WshShell.Run "dfrg.msc"
WScript.Sleep 1000
While WshShell.AppActivate("磁盘碎片整理程序") = FALSE
wscript.sleep 1000
Wend
WshShell.AppActivate "磁盘碎片整理程序"
WScript.Sleep 200
WshShell.SendKeys "%A" '按下“ALT+A”打开下拉菜单
WScript.Sleep 200
WshShell.SendKeys "D" '按下“D”键
While WshShell.AppActivate("磁盘碎片整理完毕") = FALSE '整理完毕后等待5秒钟
wscript.sleep 5000
Wend
WshShell.AppActivate "磁盘碎片整理完毕"
WScript.Sleep 200
WshShell.Sendkeys "{TAB}"
Wscript.Sleep 500
WshShell.Sendkeys "{ENTER}"
Wscript.Sleep 500
WshShell.Sendkeys "%{F4}" '按下“ALT+F4”关闭整理程序


2. 登陆QQ脚本loginQQ.vbs:

dim program1
program1="D:\Program Files\Tencent\QQ\Bin\QQ.exe"
set wshshell=CreateObject("wscript.shell")
set oexec=wshshell.exec(program1)
wscript.sleep 2000
wshshell.appactivate "QQ2010"
wshshell.sendkeys "+{TAB}"
wshshell.sendkeys "465272"
wscript.sleep 2000
wshshell.sendkeys "{TAB}"
wshshell.sendkeys "qqpass"
wscript.sleep 2000
wshshell.sendkeys "{ENTER}"
Wscript.quit