首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过vbs执行命令

如何通过vbs执行命令
EN

Stack Overflow用户
提问于 2012-04-26 03:33:12
回答 2查看 207关注 0票数 0

我有一个vbs文件,里面有一些需要运行的命令行实用程序。但在某些情况下,这些实用程序可能会提示用户输入以继续。我希望能够捕获这些条件,提供默认答案“是”,然后继续。

这是我到目前为止所知道的:

代码语言:javascript
运行
复制
Dim oExec
set oExec = objShell.Exec("mycmd pw ....")

do while not oExec.StdOut.AtEndofStream
    wscript.echo "status of script: " & oExec.Status
    input = input & oExec.StdOut.ReadLine()
    if instr(input, "create key? (y/n)") <> 0 Then exit do
loop
oExec.Stdin.Write "y"

当我这样做的时候,什么也没有发生。我看到了我插入的调试语句...但脚本似乎就是挂起了。

任何帮助都将不胜感激。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-26 04:06:15

使用管道:echo y | your_command。这将把'y‘放入你的进程的stdin中。

如果next命令不使用stdin作为输入(它的实现使用与键盘相关的API),那么就没有简单的方法来解决这个问题。

票数 0
EN

Stack Overflow用户

发布于 2012-04-26 03:53:47

您是否尝试过将输入放入文件中并使用command redirecting

cmdfile.cmd < resp.txt

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10322507

复制
相关文章

相似问题

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