- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VBS脚本参考之一——使用连字符2007年06月14日 星期四 下午 08:35前言
这一章的前半部分介绍了 VB 脚本最基本的概念,并且告诉你它可以完成的工作,尤其是 VBS和其它的如 WMI、ADSI 接合在一起的时候。后半部分主要介绍了VBS对系统管理员更有用的部分。
许多脚本和程序语言在向文本输入的时候并不严格的遵守文本的行。例如,尽管下面这个JS 脚 本写了很多行,但是,JS 把它当做一行来处理。这是因为,在大部分的时候,JS 只有看到中止符的时候才认为使一个行的中止。在这个例子中,中止符就是“;”。在实际中敲入的行是和脚本本身不相关的。
var 作者:临汾市外事旅游局薛靖澜,转载请注明出处]
objWMI
=new
Enumerator
(GetObject(winmgmts:)
.
InstancesOf(Win32_process))
;
正好相反,同样的一段代码,用 VB 写的时候就会报一个语法错误。
Set
objWMI
=
(GetObject(winmgmts:)
.
InstancesOf(Win32_process))
这是因为,VBS用回车键来代替特定的中止符。为了中止一个VB脚本,你不需要来敲入一个分号或者其它的特殊的符号,你只需要敲回车键就好了。一般来讲,不用中止符的限制,使VBS 在编写的过程中变的简单,但是也有一点会有些复杂。为了增强程序的可读性,建议每行的最大长度不超过80个字符。那么当你的一行代码中有 100 个字符,怎么办呢?尽管看来好象有个很简单的解决办法,但是你不能用回车键来将一行代码分隔成很多行。例如如下的代码片断会返回一个 VB 运行错误因为它用回车键来分隔脚本
strMessageToDisplay = strUserFirstName, strUserMiddleInitial, strUserLastName,
strCurrentStatus
Wscript.Echo strMessageToDisplay
你不能用回车建来换行,因为在 VB 中它认为回车是代表一段代码的中止,在上面的代码中,它认为第一行是脚本的第一部分陈述内容。然后认为第二行是另外一部分陈述内容。这样因为 strCurrentStatus 不是一个VBS的命令,所以就报错了。为了解决这个问题,VB 脚本用下划线来表示下面一行是上面一行的代替。在 VB 的早期修订版本中,在第一行末尾加一个空格和一个下划线来表示第二行是第一行的继续。为更明确的表明这个意思,第二行前面要加四个空格。(这样作是为了可读,你其实不必在继续的行前作特定的标识──就是不用在第二行前加四个空格。) 作者:临汾市外事旅游局薛靖澜,转载请注明出处]
strMessageToDisplay = strUserFirstName, strUserMiddleInitial, strUserLastName, _
strCurrentStatus
Wscript.Echo strMessageToDisplay
当继续的行又引号的时候,它就显的特别复杂。例如,架设你用下划线和空格来分隔一个 WMI脚本:
Set colServiceList = GetObject(winmgmts:).ExecQuery(SELECT * FROM _
Win32_Service WHERE State = Stopped AND StartMode = Auto )
如果你运行这个脚本,它会弹出一个错误,因为继续换行符放在了引号中间了,这样它就认为换行符是字符串的一部分。为了分隔这个陈述:
1:在第一行用引号中止,然后插入空格和下划线
2:用 and()符号来开始下一行,这表示第二行是第一行字符串的继续
3:在下一行开始之前加入引号 这些引号表示这些陈述是包涵在上面的一行中的,没有了引号,它就VB就解释 Win32_Service 是 VB 的陈述语句,因为这个语句不是合法的,所以就产生了错误。修正的版本如下:
Set colServiceList = GetObject(winmgmts:).ExecQuery(SELECT * FROM _
Win32_Service WHERE State = Stopped AND StartMode = Auto )
用这个办法来换行的时候,在适当的位置插入空格要十分小心。在上面的例子当中,空格是添加在“from”之后和下一行的引号之前,如果空格向作偏出,那么字符串会被错位的解释(你看 如果将 FROM 和 Win32_Service 连在一起)会像如下的错误:
SELECT * FROMWin32_Service WHERE State = Stopped AND StartMode = Auto
◎
您可能关注的文档
最近下载
- 培智学校义务教育课程标准生活数学.pptx VIP
- 2025-2026学年大象版(2024)小学科学一年级上册(全册)教学设计(附目录P110).docx
- 人教版(2024)七年级地理上册 全册教案.docx
- 全国“创新杯”机械类说课大赛一等奖作品:数控技术应用.ppt VIP
- 硬笔书法《基本笔画》课件.pptx VIP
- 2024-2025新教科版科学三年级下册全册优质课件(全册).pptx
- 2024最新民事起诉状.doc VIP
- 统编版(2024)新教材八年级历史上册第一单元《鸦片战争》【优质课件】.pptx VIP
- 防高温施工、防汛防台风专项监理实施细则.docx VIP
- 中央空调维保方案.pdf
文档评论(0)