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

时间:2021-05-22

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





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

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章