在Windows 7上,我的VBScript中的以下行出错:
Set wsh = WScript.CreateObject("WScript.Shell")
Run Code Online (Sandbox Code Playgroud)
错误:
Microsoft VBScript运行时错误:参数数量错误或属性赋值无效:'wsh'
使用除wsh工作之外的任何名称.
我在网上搜索了一些信息,但保留关键字的页面没有引用任何提及wsh.
我使用CMD处理器中的cscript命令运行上面的脚本.
问题解答后的更新:
将变量声明为Dim wsh覆盖其关键字状态,允许在脚本中使用它.在发布问题后遇到此信息,请访问:http://forums.devshed.com/visual-basic-programming-52/bizzare-finding-username-918597.html
wsh是WScript对象的内置别名,允许您编写
wsh.Echo "foo"
wsh.StdErr.WriteLine "bar"
wsh.Quit 42
Run Code Online (Sandbox Code Playgroud)
代替
WScript.Echo "foo"
WScript.StdErr.WriteLine "bar"
WScript.Quit 42
Run Code Online (Sandbox Code Playgroud)
据我所知,文档没有涵盖这一点.
编辑:显然,您可以通过wsh在使用之前定义为变量来解决此问题:
Dim wsh
Set wsh = CreateObject("WScript.Shell")
Run Code Online (Sandbox Code Playgroud)
但请注意,这样做会完全掩盖原始标识符,即如果不离开定义变量的上下文(在全局变量的情况下意味着重新启动解释器),您将无法获得原始行为,因为你不能解开变量.
| 归档时间: |
|
| 查看次数: |
204 次 |
| 最近记录: |