大学计算机VBScript试题,一步一步学VBScript(5)之WSH对象四

一步一步学VBScript(5)之WSH对象五

前沿:

当域控与脚本两者相遇的时候会产生什么呢.

哈哈.应该是一个问号.还有一个惊叹号.

这两天写了个脚本.DC上执行让AD中的计算机中的本地管理员组

添加一个域帐户.然后脚本顺利地执行下去了.奇迹般的成功了.

哇咔咔.如果我是一个企业服务器管理员.想让一个普通用户.

用来管理所有客户端的问题.防止最重要的域管理员密码泄露.

OK.这个是最好的办法.不是吗.

以后写道ADSI脚本方面的介绍的时候.我会陆续介绍这方面的内容

敬请期待~

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

继续上篇话题

上篇要点:

1.介绍了WSH中处理输入输出流的方法概要

2.详细介绍了stdout,stdin,stderr.

本篇主要内容

介绍脚本的参数引入

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

脚本中的参数引入

(1)wscript.arguments概要

我们来看一张概要图

e9573de3448d28d774e3738ff84182fb.png

这个方法。同样还是WSH中的内容。

(WSH已经介绍了4篇了。内容会对有的朋友来说比较浅

但是我还是想慢慢点把内容说全。估计还要有好多篇可以说

等全部仔细说完了。我想脚本中最基本的东西您应该很清楚了)

那么这个方法干吗用的呢。

每个东西的存在总会有它的意义嘛。这个方法呢。就是你可以给脚本添加参数

那么有人要问来。直接把参数写脚本里不就好了?

呵呵。因为做不到阿。比如我用批处理来调用这个脚本。或者用起来的脚本来调用这个脚本。

那么有了这个参数后。这个脚本就像是一个更大的function了。

如果把一整套脚本看作是幢房子的话。那么某个脚本就是一个楼层,而arguments就是每层楼的地板哦

很伟大把。

具体我们来看看能做什么吧

Set colNamedArguments = WScript.Arguments.Named

strFN = colNamedArguments.Item("FirstName")

strLN = colNamedArguments.Item("LastName")

WScript.Echo "Your name is" & strFN & "." & strLN

WScript.Sleep 3000

OK,请您保存C:\Scripts\testarguments.vbs

然后在cmd中执行

cscript.exe c:\Script\testarguments.vbs /LastName:Xu /FirstName:Mark

结果呢。嘿嘿

823625c317a23f0c813bdb0b768b2172.png

不错吧。想到什么了吗?OK,我们继续。

(2)Arguments的属性

那么为什么他会去识别FirstName和LastName参数呢

细心的您有没有发现

Set colNamedArguments = WScript.Arguments.Named

对,就是他 Named.

OK,那么来介绍下

方法

Wscript.Arguments.Count

Wscript.Arguments.ShowUsage

属性

Wscript.Arguments.Named

Wscript.Arguments.Unnamed

Wscript.Arguments.Length

Wscript.Arguments.Item(n)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Wscript.Arguments.Count

Wscript.Arguments.Length

先看段代码

WScript.Echo "Count:" & WScript.Arguments.Count

WScript.Echo "Length:" & WScript.Arguments.length

WScript.Sleep 3000

同样保存为vbs然后运行

cscript.exe c:\scripts\testarguments.vbs  Mytest“My test”

执行后结果为

3eecaef68c74cf5015969bb01be7d864.png

都为2。为什么呢。

废话。当然都为2,否则就有大问题了。。您的计算机不正常咯

两个均为计算参数的数量。注意哦 空格为分割哦

如果您在参数中有空格的话,请用“”来表达这个为一个参数

那么区别呢。

当使用vbscript的时候2者是一样的。但是如果您使用JScript的话。

只能用Length。否则就会run-time error

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Wscript.Argument.Named

Wscript.Argument.Unnamed

来段代码帮您理解

Set objarg1 = WScript.Arguments.Named

WScript.Echo "NamedCount:" & objarg1.Count

Set objarg2 = WScript.Arguments.Unnamed

WScript.Echo "UnNamedCount:" & objarg2.Count

WScript.Sleep 3000

同样保存为VBS

然后请您执行

cscript.exe c:\Scripts\testarguments.vbs /key1:mytest1 /key2:"my test1" "my test2" mytest2

执行结果为

962d30dc8fc94e4f055f17ae2cde029c.png

结果为2个2对巴

这个就是我们想要的结果。对,他就是一个开关,来过滤是否有像 /key1:mytest1这样的参数

这个代码的升级版

Set objarg1 = WScript.Arguments.Named

WScript.Echo "NamedCount:" & objarg1.Count

WScript.Echo "Namedkey2" & objarg1.Item("key2")

Set objarg2 = WScript.Arguments.Unnamed

WScript.Echo "UnNamedCount:" & objarg2.Count

WScript.Echo "Unnameditem1" & objarg2.Item(1)

WScript.Sleep 3000

同样执行

cscript.exe c:\Scripts\testarguments.vbs /key1:mytest1 /key2:"my test1" "my test2" mytest2

结果为

3857e32c272b60d4da2e0974e80d1f34.png

明白了吧。他真的是过滤了。因为

当unnamed的时候 他的item参数是1,也就是第2个,并且当您用item(2)的话。会提示错误。超过范围。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Wscript.Arguments.item

我们已经看了很多了吧。他用来具体定位到这个参数是什么

没有他。我们啥都传不进去哦

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Wscript.Arguments.ShowUsage

更具官方的资料,这个方法是用在(.WSF)中的。这里我们不做介绍了哦

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

(3)综合应用

iNumberOfArguments = WScript.Arguments.Count

Set colNamedArguments = WScript.Arguments.Named

If Not colNamedArguments.Exists("Server") Then

Wscript.Echo "Usage: /Server: is required."

Wscript.Quit

ElseIf iNumberOfArguments >= 2 Or iNumberOfArguments <= 4 Then Wscript.Echo iNumberOfArguments & "arguments entered"

Wscript.Echo "including Server Name:" & _ colNamedArguments.Item("Server")

Else

Wscript.Echo "Usage: Please enter between 2 and 4 arguments."

Wscript.Quit

End If

OK。这个脚本来自于微软官方网站。通过这次的内容。您现在可以看懂了吧。

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

总结:

1.Wscript.Argument的概要介绍

2.Wscript.Argument的方法与属性的介绍和演示

3.综合脚本应用的介绍

下期中将会

1.介绍关于如何控制脚本的运行(sleep,quit,time-out)

2.介绍如何输出脚本环境的信息

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

期待您的观看。您的宝贵的意见与建议将是我继续的前行的动力。

如果您有什么意见与建议的话,请务必先联系我。

谢谢您耐心的观看。谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值