【问题标题】:how to execute command via vbs如何通过vbs执行命令
【发布时间】:2012-04-25 19:33:12
【问题描述】:

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

这是我目前所拥有的:

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"

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

任何帮助将不胜感激。

【问题讨论】:

    标签: file cmd prompt


    【解决方案1】:

    使用管道:echo y | your_command。这会将“y”放入进程的标准输入中。

    如果下一个命令不使用标准输入作为输入(其实现使用与键盘相关的 API),则没有简单的方法可以解决此问题。

    【讨论】:

      【解决方案2】:

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

      cmdfile.cmd &lt; resp.txt

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-10
        • 2018-11-09
        • 2011-08-20
        • 2011-05-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多