首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >捕获标准输出的VBscript代码,不显示控制台窗口

捕获标准输出的VBscript代码,不显示控制台窗口
EN

Stack Overflow用户
提问于 2011-02-07 17:13:40
回答 6查看 79.1K关注 0票数 19

这是一个VBScript代码示例,展示了如何捕获命令行程序发送到标准输出的内容。它执行命令xcopy /?并在消息框中显示输出。在消息框出现之前,您会在瞬间看到弹出的控制台窗口。

代码语言:javascript
运行
复制
Set objShell = WScript.CreateObject("WScript.Shell")
Set objExec = objShell.Exec("xcopy /?")
Do
    line = objExec.StdOut.ReadLine()
    s = s & line & vbcrlf
Loop While Not objExec.Stdout.atEndOfStream
WScript.Echo s

下面是另一个VBScript代码示例,它展示了如何在不显示控制台窗口的情况下执行脚本。

代码语言:javascript
运行
复制
objShell.Run "c:\temp\mybatch.bat C:\WINDOWS\system32\cmd.exe", 0

代码语言:javascript
运行
复制
objShell.Run "c:\temp\myscript.vbs C:\WINDOWS\system32\cscript.exe", 0

如您所见,它的形式为<script><space><executor>。最后一个示例使用objShell.Run而不是objShell.Exec

我不知道的是如何执行命令行程序(如果需要的话,从批处理文件),捕获标准输出,而不显示控制台窗口。有什么想法吗?

EN

Stack Overflow用户

发布于 2014-03-03 20:32:37

考虑使用带有startupInfo.ShowWindow = 0Win32_Process来启动带有SW_HIDE的进程,而不是WScript.Shell。我在VBS Run cmd.exe output to a variable; not text file下发布了一个详细的示例。

票数 -1
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4919573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档