vbs/js脚本编程教学(1)


脚本编程教学(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





以上都是基础,今天就写到这里吧,好累哦,呵呵呵 如有转载注明出处。明天给大家讲文件系统吧。


« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3