脚本编程教学(1)
论坛上好多朋友都问关于脚本的问题,正好最近对脚本比较有兴趣,就写点东西吧。首先说明一下,我的所有代码都是
vbscript,jscript我没有研究过,不过我想也差不多。
关于最基础的语法比如变量的申明,分支,循环,函数的调用,等等这些我就不讲了,不懂得自己看一下。
1、我们的第一个vbs程序:还是那个老得掉牙的冬冬。
************************hello.vbs**************************
dimhello
hello=”helloworld!”
wscript.echohello
wscriptecho“thisismyfirstvbs”
可以看出wscript.echo有两种用法,这个不难。
可以直接双击运行,可以在当前目录的命令行输入:
cscripthello.vbs
2、在脚本中调用其他的程序:
使用run()方法,在使用前必须先建立shell的实例
********************shell.vbs******************************************
setws=wscript.createobject("wscript.shell")
ret=ws.run("notepad",3,true)
ifret=0then
wscript.echo“succeed!”
else
wscript.echo“thereisaerror,theerrornumberis:”
wscript.echocstr(ret)
endif
***************************************************************************
这里run有三个参数,第一个参数是你要执行的程序的路径
第二个程序是窗口的形式,0是在后台运行;
1表示正常运行
2表示激活程序并且显示为最小化
3表示激活程序并且显示为最大化
一共有10个这样的参数我只列出了4个最常用的。
第三个参数是表示这个脚本是等待还是继续执行,如果设为了true,脚本就会等待调用的程序退出后再向后执行。
注意到没有,我在run的前面还有一个接受返回值的变量,一般来说如果返回为0,表示成功执行,如果不为0,则这个
返回值就是错误代码,可以通过这个代码找出相应的错误。
3、inputbox和msgbox
会vb的人对着两个东西应该很熟悉,用法也没什么差别
input=inputbox(“pleaseenteryoupassword”,”passwd”)
ifinput<>”1234”
then
msgbox“youenterawrongpasswd”
endif
当然你也可以给msgbox添加按钮,用一个变量接受用户的选择
例如:ret=msgbox“continue?”,vbyesnocancel
返回值和常量对照如下:
vbok1
vbcancel2
vbabort3
vbretry4
vbignore5
vbyes6
vbno7
4、错误处理
何vb一样用onerrorresumenext
这个没什么好说的,如果遇到了错误就跳过继续执行下一句
当然这个方法很弱智,还需要有一个方法,vbscript提供了一个对象err对象
他有两个方法clear,raise
5个属性:description,helpcontext,helpfile,number,source
我们可以利用err.number获得错误号例如
***********************err.vbs*****************************
onerrorresumenext
a=11
b=0
c=a/b
iferr.number<>0then
wscript.echoerr.number&err.description&err.source
endif
我们可以用err.raisel来手工抛出错误
比如我们要产生一个pathnotfound的错误告诉用户,他填写的路径不对
onerrorresumenext
err.raise76
msgbox"error:"&err.description
err.clear
以上都是基础,今天就写到这里吧,好累哦,呵呵呵如有转载注明出处。明天给大家讲文件系统吧。