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