我将此VBScript脚本保存为本地计算机为c:\ test.vbs:
WScript.StdOut.WriteLine "This is a test"
Run Code Online (Sandbox Code Playgroud)
当我从命令行运行它时,我收到此错误:
---------------------------
Windows Script Host
---------------------------
Script: C:\test.vbs
Line: 1
Char: 1
Error: The handle is invalid.
Code: 80070006
Source: (null)
---------------------------
OK
---------------------------
Run Code Online (Sandbox Code Playgroud)
我在Windows Vista(SP1)和Windows XP Pro(SP3)下得到了这个.
Sco*_* M. 34
此链接可以帮助您:
http://www.tech-archive.net/Archive/Scripting/microsoft.public.scripting.vbscript/2004-07/0979.html
看起来句柄StdOut仅在使用控制台主机(cscript.exe)而不是窗口主机(wscript.exe)时可用.如果您希望代码有效,则必须使用cscript.exe它来运行它.
该帖子还描述了如何更改默认行为以使用cscript而不是wscript运行脚本.
正如接受的答案中的文章所描述的那样,当我从命令提示符调用它时,我的脚本工作如下:
cscript test.vbs
Run Code Online (Sandbox Code Playgroud)
您还可以更改默认脚本宿主,以便每次都不需要调用cscript.执行此操作后,原始命令无需修改.
cscript //h:cscript //s
Run Code Online (Sandbox Code Playgroud)
您可以使用以下命令恢复原始行为:
cscript //h:wscript //s
Run Code Online (Sandbox Code Playgroud)
谢谢!!
| 归档时间: |
|
| 查看次数: |
32402 次 |
| 最近记录: |